agentworkshop 0.5.0 → 0.5.2

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 (1417) hide show
  1. package/.output/.AgentWorkShop/prompts/host-tools.json +631 -0
  2. package/.output/.AgentWorkShop/prompts/lead-supervise.md +42 -0
  3. package/.output/.AgentWorkShop/prompts/mode-goal.md +26 -0
  4. package/.output/.AgentWorkShop/prompts/mode-loop.md +10 -0
  5. package/.output/.AgentWorkShop/prompts/mode-pipeline.md +16 -0
  6. package/.output/.AgentWorkShop/prompts/peer-lead-roster.md +3 -0
  7. package/.output/.AgentWorkShop/prompts/peer-message.md +14 -0
  8. package/.output/.AgentWorkShop/prompts/peer-reply-optional.md +2 -0
  9. package/.output/.AgentWorkShop/prompts/peer-reply-required.md +8 -0
  10. package/.output/.AgentWorkShop/prompts/scenario-default.md +11 -0
  11. package/.output/.AgentWorkShop/prompts/system-manual.md +18 -0
  12. package/.output/.AgentWorkShop/prompts/team-roster.md +9 -0
  13. package/.output/.AgentWorkShop/prompts/worker-workflow.md +19 -0
  14. package/.output/nitro.json +15 -0
  15. package/.output/public/_nuxt/2LwEn9gX.js +2 -0
  16. package/.output/public/_nuxt/36oeS8_R2.js +1 -0
  17. package/.output/public/_nuxt/7ZABjMRh2.js +1 -0
  18. package/.output/public/_nuxt/9X0fVBD7.js +57 -0
  19. package/.output/public/_nuxt/B-PgoIPN.js +1 -0
  20. package/.output/public/_nuxt/B0haAGoq.js +1 -0
  21. package/.output/public/_nuxt/B3__nfxM.js +1 -0
  22. package/.output/public/_nuxt/B4GHHF6d2.js +13 -0
  23. package/.output/public/_nuxt/B6M2WJWm2.js +1 -0
  24. package/.output/public/_nuxt/B7V9IfTL.js +1 -0
  25. package/.output/public/_nuxt/B9aPoQvt.js +17 -0
  26. package/.output/public/_nuxt/BBrRELH32.js +2 -0
  27. package/.output/public/_nuxt/BCipft_k2.js +1 -0
  28. package/.output/public/_nuxt/BDUjyaF4.js +42 -0
  29. package/.output/public/_nuxt/BE5QyG5J2.js +1 -0
  30. package/.output/public/_nuxt/BF9XPEuw.js +1 -0
  31. package/.output/public/_nuxt/BFYNhG9S.js +13 -0
  32. package/.output/public/_nuxt/BFjGV-RV2.js +4108 -0
  33. package/.output/public/_nuxt/BGkumHZ32.js +102 -0
  34. package/.output/public/_nuxt/BJvGPTpC.js +1 -0
  35. package/.output/public/_nuxt/BSCpFtzG.js +3 -0
  36. package/.output/public/_nuxt/BSSUlJnx2.js +1 -0
  37. package/.output/public/_nuxt/BUNGEK2z.js +18 -0
  38. package/.output/public/_nuxt/BUcmySDa2.js +209 -0
  39. package/.output/public/_nuxt/BUxYN2mw.js +1 -0
  40. package/.output/public/_nuxt/BbQornXa.js +1 -0
  41. package/.output/public/_nuxt/Bc_mM2cU.js +1 -0
  42. package/.output/public/_nuxt/BdKzfJiM.js +2 -0
  43. package/.output/public/_nuxt/BeIfu4N3.js +3 -0
  44. package/.output/public/_nuxt/BfGc7TJp.js +1 -0
  45. package/.output/public/_nuxt/Bi6AiCuP.js +1 -0
  46. package/.output/public/_nuxt/Bok1DRqh.js +19 -0
  47. package/.output/public/_nuxt/Bq_KKxCg.js +1 -0
  48. package/.output/public/_nuxt/BrIJiJSN.js +18 -0
  49. package/.output/public/_nuxt/Bsc69G4x.js +24 -0
  50. package/.output/public/_nuxt/Bxh5nf8j.js +1 -0
  51. package/.output/public/_nuxt/ByGNWgAr.js +23 -0
  52. package/.output/public/_nuxt/C9f8QMp12.js +1 -0
  53. package/.output/public/_nuxt/CE2ynNi9.js +1 -0
  54. package/.output/public/_nuxt/CNs_Ozdc2.js +1 -0
  55. package/.output/public/_nuxt/CWDzKGtj.js +1 -0
  56. package/.output/public/_nuxt/CWKEp1wx2.js +2 -0
  57. package/.output/public/_nuxt/CXLI50Sq.js +1 -0
  58. package/.output/public/_nuxt/C_gFA2H_2.js +1 -0
  59. package/.output/public/_nuxt/Ce1zyNYu.js +1 -0
  60. package/.output/public/_nuxt/CfIXY-ET.js +75 -0
  61. package/.output/public/_nuxt/ChEKFMxj.js +1 -0
  62. package/.output/public/_nuxt/ClptO7LA.js +1 -0
  63. package/.output/public/_nuxt/Cno6kYiO2.js +1 -0
  64. package/.output/public/_nuxt/CrFGZYVB2.js +7 -0
  65. package/.output/public/_nuxt/D-Ne4C9a.js +1 -0
  66. package/.output/public/_nuxt/D0C5Q0di.js +1 -0
  67. package/.output/public/_nuxt/D5KJ7_0V.js +1 -0
  68. package/.output/public/_nuxt/D8DDDzV62.js +1 -0
  69. package/.output/public/_nuxt/D95h62Jn.js +1 -0
  70. package/.output/public/_nuxt/DEHNjlTq2.js +1 -0
  71. package/.output/public/_nuxt/DEkQ0qQ02.js +1 -0
  72. package/.output/public/_nuxt/DIOBYJe3.js +1 -0
  73. package/.output/public/_nuxt/DNJSkm3Q.js +1 -0
  74. package/.output/public/_nuxt/DP6bdyIp.js +1 -0
  75. package/.output/public/_nuxt/DPDqAD1e.js +2 -0
  76. package/.output/public/_nuxt/DRlJ2-4p.js +1 -0
  77. package/.output/public/_nuxt/DRq09ZmT.js +1 -0
  78. package/.output/public/_nuxt/DSBfvCi5.js +19 -0
  79. package/.output/public/_nuxt/DVNYfGsj.js +1 -0
  80. package/.output/public/_nuxt/DVQAz9WI.js +3 -0
  81. package/.output/public/_nuxt/DXK1U43I.js +1 -0
  82. package/.output/public/_nuxt/DYWgGHNo.js +7 -0
  83. package/.output/public/_nuxt/DdPeifHR.js +3 -0
  84. package/.output/public/_nuxt/Dm5mD6XT.js +1 -0
  85. package/.output/public/_nuxt/HWXLx5Hz.js +9 -0
  86. package/.output/public/_nuxt/HclGiUj8.js +1 -0
  87. package/.output/public/_nuxt/NIM0Wglj2.js +1 -0
  88. package/.output/public/_nuxt/OmpTerminalPanel.Bc9GjNU5.css +1 -0
  89. package/.output/public/_nuxt/OwJ1LJkF.js +31 -0
  90. package/.output/public/_nuxt/PQLnLxYe.js +1 -0
  91. package/.output/public/_nuxt/RYFtK4qZ2.js +1 -0
  92. package/.output/public/_nuxt/R_WxTozV2.js +1 -0
  93. package/.output/public/_nuxt/TownView.CI2Wpzty.css +1 -0
  94. package/.output/public/_nuxt/W1E3-5ML.js +14 -0
  95. package/.output/public/_nuxt/Z8k0uMSI.js +5 -0
  96. package/.output/public/_nuxt/_id_.CbiF5PrV.css +1 -0
  97. package/.output/public/_nuxt/_id_.Ci4u30cR.css +1 -0
  98. package/.output/public/_nuxt/_wsId_.DET_GinP.css +1 -0
  99. package/.output/public/_nuxt/agents.BJwgTLFZ.css +1 -0
  100. package/.output/public/_nuxt/builds/latest.json +1 -0
  101. package/.output/public/_nuxt/builds/meta/eede1532-1366-486a-bdab-4d27fa03a1d8.json +1 -0
  102. package/.output/public/_nuxt/channel-templates.lkqEYlWY.css +1 -0
  103. package/.output/public/_nuxt/dObsRdSQ.js +1 -0
  104. package/.output/public/_nuxt/dRAyjbJ6.js +14 -0
  105. package/.output/public/_nuxt/daq.m1dxZaD-.css +1 -0
  106. package/.output/public/_nuxt/dcw.C46dGiF_.css +1 -0
  107. package/.output/public/_nuxt/default.iGJy9dP-.css +1 -0
  108. package/.output/public/_nuxt/dt2tKE95.js +4 -0
  109. package/.output/public/_nuxt/eHGLpQSg2.js +1 -0
  110. package/.output/public/_nuxt/eb-garamond-cyrillic-400-italic.BGIwiowF.woff2 +0 -0
  111. package/.output/public/_nuxt/eb-garamond-cyrillic-400-italic.BZInx2ys.woff +0 -0
  112. package/.output/public/_nuxt/eb-garamond-cyrillic-400-normal.C0kVTdou.woff +0 -0
  113. package/.output/public/_nuxt/eb-garamond-cyrillic-400-normal.DDLP67lu.woff2 +0 -0
  114. package/.output/public/_nuxt/eb-garamond-cyrillic-ext-400-italic.Bz1w3xqM.woff2 +0 -0
  115. package/.output/public/_nuxt/eb-garamond-cyrillic-ext-400-italic.CYS3phfl.woff +0 -0
  116. package/.output/public/_nuxt/eb-garamond-cyrillic-ext-400-normal.DG8lny6_.woff +0 -0
  117. package/.output/public/_nuxt/eb-garamond-cyrillic-ext-400-normal.o8fRvAFQ.woff2 +0 -0
  118. package/.output/public/_nuxt/eb-garamond-greek-400-italic.BamGE6QP.woff +0 -0
  119. package/.output/public/_nuxt/eb-garamond-greek-400-italic.Dqr5KC66.woff2 +0 -0
  120. package/.output/public/_nuxt/eb-garamond-greek-400-normal.CVAbzS9p.woff2 +0 -0
  121. package/.output/public/_nuxt/eb-garamond-greek-400-normal.d4JlP2QH.woff +0 -0
  122. package/.output/public/_nuxt/eb-garamond-greek-ext-400-italic.BL1XYHtS.woff +0 -0
  123. package/.output/public/_nuxt/eb-garamond-greek-ext-400-italic.CHZOQEtG.woff2 +0 -0
  124. package/.output/public/_nuxt/eb-garamond-greek-ext-400-normal.BaZl8BIK.woff +0 -0
  125. package/.output/public/_nuxt/eb-garamond-greek-ext-400-normal.K8pwR3tn.woff2 +0 -0
  126. package/.output/public/_nuxt/eb-garamond-latin-400-italic.CDFyLPXJ.woff +0 -0
  127. package/.output/public/_nuxt/eb-garamond-latin-400-italic.DSEbMgZu.woff2 +0 -0
  128. package/.output/public/_nuxt/eb-garamond-latin-400-normal.BCNrxLz_.woff2 +0 -0
  129. package/.output/public/_nuxt/eb-garamond-latin-400-normal.maQnHeKB.woff +0 -0
  130. package/.output/public/_nuxt/eb-garamond-latin-ext-400-italic.DUSsnRSD.woff +0 -0
  131. package/.output/public/_nuxt/eb-garamond-latin-ext-400-italic.V7s3nWfX.woff2 +0 -0
  132. package/.output/public/_nuxt/eb-garamond-latin-ext-400-normal.B4EmgUmt.woff +0 -0
  133. package/.output/public/_nuxt/eb-garamond-latin-ext-400-normal.o4A__6QZ.woff2 +0 -0
  134. package/.output/public/_nuxt/eb-garamond-vietnamese-400-italic.DQ8HKnks.woff2 +0 -0
  135. package/.output/public/_nuxt/eb-garamond-vietnamese-400-italic.ORtyMVfw.woff +0 -0
  136. package/.output/public/_nuxt/eb-garamond-vietnamese-400-normal.CLvJdMEL.woff2 +0 -0
  137. package/.output/public/_nuxt/eb-garamond-vietnamese-400-normal.ifvNSiWx.woff +0 -0
  138. package/.output/public/_nuxt/entry.DjhxLu-f.css +1 -0
  139. package/.output/public/_nuxt/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2 +0 -0
  140. package/.output/public/_nuxt/geist-cyrillic-wght-normal.BEAKL7Jp.woff2 +0 -0
  141. package/.output/public/_nuxt/geist-latin-ext-wght-normal.DC-KSUi6.woff2 +0 -0
  142. package/.output/public/_nuxt/geist-latin-wght-normal.BgDaEnEv.woff2 +0 -0
  143. package/.output/public/_nuxt/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2 +0 -0
  144. package/.output/public/_nuxt/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2 +0 -0
  145. package/.output/public/_nuxt/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2 +0 -0
  146. package/.output/public/_nuxt/geist-mono-latin-wght-normal.XN7g48iV.woff2 +0 -0
  147. package/.output/public/_nuxt/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2 +0 -0
  148. package/.output/public/_nuxt/geist-mono-vietnamese-wght-normal.DadHysG0.woff2 +0 -0
  149. package/.output/public/_nuxt/geist-vietnamese-wght-normal.6IgcOCM7.woff2 +0 -0
  150. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2 +0 -0
  151. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff +0 -0
  152. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff +0 -0
  153. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2 +0 -0
  154. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2 +0 -0
  155. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff +0 -0
  156. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff +0 -0
  157. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2 +0 -0
  158. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff +0 -0
  159. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2 +0 -0
  160. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff +0 -0
  161. package/.output/public/_nuxt/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2 +0 -0
  162. package/.output/public/_nuxt/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff +0 -0
  163. package/.output/public/_nuxt/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2 +0 -0
  164. package/.output/public/_nuxt/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff +0 -0
  165. package/.output/public/_nuxt/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2 +0 -0
  166. package/.output/public/_nuxt/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2 +0 -0
  167. package/.output/public/_nuxt/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff +0 -0
  168. package/.output/public/_nuxt/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2 +0 -0
  169. package/.output/public/_nuxt/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff +0 -0
  170. package/.output/public/_nuxt/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2 +0 -0
  171. package/.output/public/_nuxt/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff +0 -0
  172. package/.output/public/_nuxt/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2 +0 -0
  173. package/.output/public/_nuxt/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff +0 -0
  174. package/.output/public/_nuxt/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2 +0 -0
  175. package/.output/public/_nuxt/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff +0 -0
  176. package/.output/public/_nuxt/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff +0 -0
  177. package/.output/public/_nuxt/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2 +0 -0
  178. package/.output/public/_nuxt/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2 +0 -0
  179. package/.output/public/_nuxt/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff +0 -0
  180. package/.output/public/_nuxt/kZl6yT-12.js +1 -0
  181. package/.output/public/_nuxt/lO5tpDZ5.js +1 -0
  182. package/.output/public/_nuxt/logs.DaIsHWZE.css +1 -0
  183. package/.output/public/_nuxt/monitor.41fCD6TB.css +1 -0
  184. package/.output/public/_nuxt/pRQri7vQ2.js +4 -0
  185. package/.output/public/_nuxt/pages.CytEOfUs.css +1 -0
  186. package/.output/public/_nuxt/plugins.FTm0PcEe.css +1 -0
  187. package/.output/public/_nuxt/rzGB_ojX.js +32 -0
  188. package/.output/public/_nuxt/settings.BANibAnV.css +1 -0
  189. package/.output/public/_nuxt/teams.B8JNbUZg.css +1 -0
  190. package/.output/public/_nuxt/tokens.CWOTXM-Z.css +1 -0
  191. package/.output/public/_nuxt/town.BLrD9-WH.css +1 -0
  192. package/.output/public/_nuxt/town.C_DsNW0J.css +1 -0
  193. package/.output/public/_nuxt/uBbDCfTz.js +1 -0
  194. package/.output/public/_nuxt/ubPfs9mQ.js +1 -0
  195. package/.output/public/_nuxt/users.D8lcLE62.css +1 -0
  196. package/.output/public/_nuxt/workshop.B98sHiJq.css +1 -0
  197. package/.output/public/assets/game/character/bot.png +0 -0
  198. package/.output/public/assets/game/character/device-3d.glb +0 -0
  199. package/.output/public/assets/game/character/hero-3d.glb +0 -0
  200. package/.output/public/assets/game/character/hero-anime-1.glb +0 -0
  201. package/.output/public/assets/game/character/hero-anime-2.glb +0 -0
  202. package/.output/public/assets/game/character/hero-anime-3.glb +0 -0
  203. package/.output/public/assets/game/character/hero-anime-4.glb +0 -0
  204. package/.output/public/assets/game/character/knight.png +0 -0
  205. package/.output/public/assets/game/character/mage.png +0 -0
  206. package/.output/public/assets/game/coin.png +0 -0
  207. package/.output/public/assets/game/devices/agv.glb +0 -0
  208. package/.output/public/assets/game/devices/caster.glb +0 -0
  209. package/.output/public/assets/game/devices/device-console.glb +0 -0
  210. package/.output/public/assets/game/devices/device-robot-arm.glb +0 -0
  211. package/.output/public/assets/game/devices/device-scanner.glb +0 -0
  212. package/.output/public/assets/game/devices/extruder.glb +0 -0
  213. package/.output/public/assets/game/devices/mdo.glb +0 -0
  214. package/.output/public/assets/game/devices/power-cabinet.glb +0 -0
  215. package/.output/public/assets/game/devices/pump.glb +0 -0
  216. package/.output/public/assets/game/devices/tdo.glb +0 -0
  217. package/.output/public/assets/game/devices/thickness-scanner.glb +0 -0
  218. package/.output/public/assets/game/devices/winder.glb +0 -0
  219. package/.output/public/assets/game/npc/boltnu-sheet.png +0 -0
  220. package/.output/public/assets/game/npc/fluttaflap-sheet.png +0 -0
  221. package/.output/public/assets/game/npc/rockitten-sheet.png +0 -0
  222. package/.output/public/assets/game/npc/tux-sheet.png +0 -0
  223. package/.output/public/assets/game/player/misa-back-walk.000.png +0 -0
  224. package/.output/public/assets/game/player/misa-back-walk.001.png +0 -0
  225. package/.output/public/assets/game/player/misa-back-walk.002.png +0 -0
  226. package/.output/public/assets/game/player/misa-back-walk.003.png +0 -0
  227. package/.output/public/assets/game/player/misa-back.png +0 -0
  228. package/.output/public/assets/game/player/misa-front-walk.000.png +0 -0
  229. package/.output/public/assets/game/player/misa-front-walk.001.png +0 -0
  230. package/.output/public/assets/game/player/misa-front-walk.002.png +0 -0
  231. package/.output/public/assets/game/player/misa-front-walk.003.png +0 -0
  232. package/.output/public/assets/game/player/misa-front.png +0 -0
  233. package/.output/public/assets/game/player/misa-left-walk.000.png +0 -0
  234. package/.output/public/assets/game/player/misa-left-walk.001.png +0 -0
  235. package/.output/public/assets/game/player/misa-left-walk.002.png +0 -0
  236. package/.output/public/assets/game/player/misa-left-walk.003.png +0 -0
  237. package/.output/public/assets/game/player/misa-left.png +0 -0
  238. package/.output/public/assets/game/player/misa-right-walk.000.png +0 -0
  239. package/.output/public/assets/game/player/misa-right-walk.001.png +0 -0
  240. package/.output/public/assets/game/player/misa-right-walk.002.png +0 -0
  241. package/.output/public/assets/game/player/misa-right-walk.003.png +0 -0
  242. package/.output/public/assets/game/player/misa-right.png +0 -0
  243. package/.output/public/assets/game/player-sheet.png +0 -0
  244. package/.output/public/assets/game/tuxemon-town.json +1 -0
  245. package/.output/public/assets/game/tuxmon-sample-32px-extruded.png +0 -0
  246. package/.output/public/assets/game/wuwa/scene-map.png +0 -0
  247. package/.output/public/assets/game/wuwa/world-far.png +0 -0
  248. package/.output/public/assets/game/wuwa/world-middle.png +0 -0
  249. package/.output/public/assets/game/wuwa/world-near.png +0 -0
  250. package/.output/public/assets/game/wuwa/wu-aura.png +0 -0
  251. package/.output/public/assets/game/wuwa/wu-lead.png +0 -0
  252. package/.output/public/assets/game/wuwa/wu-ring.png +0 -0
  253. package/.output/public/assets/game/wuwa/wu-slash.png +0 -0
  254. package/.output/public/assets/game/wuwa/wu-worker-0.png +0 -0
  255. package/.output/public/assets/game/wuwa/wu-worker-1.png +0 -0
  256. package/.output/public/assets/game/wuwa/wu-worker-2.png +0 -0
  257. package/.output/public/favicon.svg +14 -0
  258. package/.output/public/scene/background/cyber-town-background.svg +110 -0
  259. package/.output/server/chunks/_/LeftOutlined.mjs +23 -0
  260. package/.output/server/chunks/_/LeftOutlined.mjs.map +1 -0
  261. package/.output/server/chunks/_/SearchOutlined.mjs +5141 -0
  262. package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -0
  263. package/.output/server/chunks/_/character-asset.repo.mjs +86 -0
  264. package/.output/server/chunks/_/character-asset.repo.mjs.map +1 -0
  265. package/.output/server/chunks/_/error-500.mjs +20 -0
  266. package/.output/server/chunks/_/error-500.mjs.map +1 -0
  267. package/.output/server/chunks/_/host-bindings.mjs +53 -0
  268. package/.output/server/chunks/_/host-bindings.mjs.map +1 -0
  269. package/.output/server/chunks/_/nitro.mjs +26860 -0
  270. package/.output/server/chunks/_/nitro.mjs.map +1 -0
  271. package/.output/server/chunks/_/scene-layout.repo.mjs +72 -0
  272. package/.output/server/chunks/_/scene-layout.repo.mjs.map +1 -0
  273. package/.output/server/chunks/_/user.schema.mjs +36 -0
  274. package/.output/server/chunks/_/user.schema.mjs.map +1 -0
  275. package/.output/server/chunks/build/Col-D7fjGDF6.mjs +338 -0
  276. package/.output/server/chunks/build/Col-D7fjGDF6.mjs.map +1 -0
  277. package/.output/server/chunks/build/OmpTerminalPanel-CZnxR3M_.mjs +915 -0
  278. package/.output/server/chunks/build/OmpTerminalPanel-CZnxR3M_.mjs.map +1 -0
  279. package/.output/server/chunks/build/TownView-DYlUNRZe.mjs +2671 -0
  280. package/.output/server/chunks/build/TownView-DYlUNRZe.mjs.map +1 -0
  281. package/.output/server/chunks/build/_id_-BOhG2yz8.mjs +659 -0
  282. package/.output/server/chunks/build/_id_-BOhG2yz8.mjs.map +1 -0
  283. package/.output/server/chunks/build/_id_-CuyMYmhY.mjs +312 -0
  284. package/.output/server/chunks/build/_id_-CuyMYmhY.mjs.map +1 -0
  285. package/.output/server/chunks/build/_wsId_-B5f5BdW2.mjs +9324 -0
  286. package/.output/server/chunks/build/_wsId_-B5f5BdW2.mjs.map +1 -0
  287. package/.output/server/chunks/build/agents-BVaxN75W.mjs +934 -0
  288. package/.output/server/chunks/build/agents-BVaxN75W.mjs.map +1 -0
  289. package/.output/server/chunks/build/alert-gH-s7yIh.mjs +264 -0
  290. package/.output/server/chunks/build/alert-gH-s7yIh.mjs.map +1 -0
  291. package/.output/server/chunks/build/button-BhbX5ACI.mjs +1938 -0
  292. package/.output/server/chunks/build/button-BhbX5ACI.mjs.map +1 -0
  293. package/.output/server/chunks/build/card-l4BbX67w.mjs +955 -0
  294. package/.output/server/chunks/build/card-l4BbX67w.mjs.map +1 -0
  295. package/.output/server/chunks/build/channel-templates-D1K2IKrE.mjs +832 -0
  296. package/.output/server/chunks/build/channel-templates-D1K2IKrE.mjs.map +1 -0
  297. package/.output/server/chunks/build/checkbox-BF11p3dH.mjs +439 -0
  298. package/.output/server/chunks/build/checkbox-BF11p3dH.mjs.map +1 -0
  299. package/.output/server/chunks/build/client-only-CFTHwakk.mjs +43 -0
  300. package/.output/server/chunks/build/client-only-CFTHwakk.mjs.map +1 -0
  301. package/.output/server/chunks/build/connection-Dc0fn6yd.mjs +120 -0
  302. package/.output/server/chunks/build/connection-Dc0fn6yd.mjs.map +1 -0
  303. package/.output/server/chunks/build/daq-ObtN1TQ4.mjs +1066 -0
  304. package/.output/server/chunks/build/daq-ObtN1TQ4.mjs.map +1 -0
  305. package/.output/server/chunks/build/dcw-fINr-He1.mjs +243 -0
  306. package/.output/server/chunks/build/dcw-fINr-He1.mjs.map +1 -0
  307. package/.output/server/chunks/build/default-CVVO40Jj.mjs +1209 -0
  308. package/.output/server/chunks/build/default-CVVO40Jj.mjs.map +1 -0
  309. package/.output/server/chunks/build/drawer-CVValqoh.mjs +836 -0
  310. package/.output/server/chunks/build/drawer-CVValqoh.mjs.map +1 -0
  311. package/.output/server/chunks/build/dropdown-ByCsEWlQ.mjs +14 -0
  312. package/.output/server/chunks/build/dropdown-ByCsEWlQ.mjs.map +1 -0
  313. package/.output/server/chunks/build/dropdown-Dex8PXu6.mjs +558 -0
  314. package/.output/server/chunks/build/dropdown-Dex8PXu6.mjs.map +1 -0
  315. package/.output/server/chunks/build/initDefaultProps-DIbWwP4R.mjs +21 -0
  316. package/.output/server/chunks/build/initDefaultProps-DIbWwP4R.mjs.map +1 -0
  317. package/.output/server/chunks/build/input--KMeLYqZ.mjs +2617 -0
  318. package/.output/server/chunks/build/input--KMeLYqZ.mjs.map +1 -0
  319. package/.output/server/chunks/build/input-number-BBlRoAJ7.mjs +1521 -0
  320. package/.output/server/chunks/build/input-number-BBlRoAJ7.mjs.map +1 -0
  321. package/.output/server/chunks/build/interval-Bt11uRPw.mjs +9 -0
  322. package/.output/server/chunks/build/interval-Bt11uRPw.mjs.map +1 -0
  323. package/.output/server/chunks/build/isNumeric-CP7q_yhz.mjs +7 -0
  324. package/.output/server/chunks/build/isNumeric-CP7q_yhz.mjs.map +1 -0
  325. package/.output/server/chunks/build/logs-DqNgCJAn.mjs +188 -0
  326. package/.output/server/chunks/build/logs-DqNgCJAn.mjs.map +1 -0
  327. package/.output/server/chunks/build/menu-xN-SXb9Q.mjs +1950 -0
  328. package/.output/server/chunks/build/menu-xN-SXb9Q.mjs.map +1 -0
  329. package/.output/server/chunks/build/modal-DrCOcjrl.mjs +1272 -0
  330. package/.output/server/chunks/build/modal-DrCOcjrl.mjs.map +1 -0
  331. package/.output/server/chunks/build/monitor-CTZLwbdw.mjs +2329 -0
  332. package/.output/server/chunks/build/monitor-CTZLwbdw.mjs.map +1 -0
  333. package/.output/server/chunks/build/pages-DC52d7z7.mjs +470 -0
  334. package/.output/server/chunks/build/pages-DC52d7z7.mjs.map +1 -0
  335. package/.output/server/chunks/build/plugins-DVQty7qG.mjs +231 -0
  336. package/.output/server/chunks/build/plugins-DVQty7qG.mjs.map +1 -0
  337. package/.output/server/chunks/build/popconfirm-C5H1Qoh3.mjs +342 -0
  338. package/.output/server/chunks/build/popconfirm-C5H1Qoh3.mjs.map +1 -0
  339. package/.output/server/chunks/build/responsiveObserve-CS0UB6wQ.mjs +78 -0
  340. package/.output/server/chunks/build/responsiveObserve-CS0UB6wQ.mjs.map +1 -0
  341. package/.output/server/chunks/build/select-D7H2ysgT.mjs +3923 -0
  342. package/.output/server/chunks/build/select-D7H2ysgT.mjs.map +1 -0
  343. package/.output/server/chunks/build/settings-BeergncK.mjs +557 -0
  344. package/.output/server/chunks/build/settings-BeergncK.mjs.map +1 -0
  345. package/.output/server/chunks/build/space-DCwIlnkI.mjs +197 -0
  346. package/.output/server/chunks/build/space-DCwIlnkI.mjs.map +1 -0
  347. package/.output/server/chunks/build/spin-HVY81X_L.mjs +358 -0
  348. package/.output/server/chunks/build/spin-HVY81X_L.mjs.map +1 -0
  349. package/.output/server/chunks/build/switch-VC0m9ede.mjs +377 -0
  350. package/.output/server/chunks/build/switch-VC0m9ede.mjs.map +1 -0
  351. package/.output/server/chunks/build/table-BksLg3Q_.mjs +8883 -0
  352. package/.output/server/chunks/build/table-BksLg3Q_.mjs.map +1 -0
  353. package/.output/server/chunks/build/tabs-CzUfD3iX.mjs +1925 -0
  354. package/.output/server/chunks/build/tabs-CzUfD3iX.mjs.map +1 -0
  355. package/.output/server/chunks/build/tag-oQI3VtqM.mjs +1157 -0
  356. package/.output/server/chunks/build/tag-oQI3VtqM.mjs.map +1 -0
  357. package/.output/server/chunks/build/teams-CFeDlHDh.mjs +910 -0
  358. package/.output/server/chunks/build/teams-CFeDlHDh.mjs.map +1 -0
  359. package/.output/server/chunks/build/tokens-CBAUbOce.mjs +818 -0
  360. package/.output/server/chunks/build/tokens-CBAUbOce.mjs.map +1 -0
  361. package/.output/server/chunks/build/town-BUqRobze.mjs +48 -0
  362. package/.output/server/chunks/build/town-BUqRobze.mjs.map +1 -0
  363. package/.output/server/chunks/build/town-BxH-XXth.mjs +94 -0
  364. package/.output/server/chunks/build/town-BxH-XXth.mjs.map +1 -0
  365. package/.output/server/chunks/build/useDaqStream-CwORhsD7.mjs +310 -0
  366. package/.output/server/chunks/build/useDaqStream-CwORhsD7.mjs.map +1 -0
  367. package/.output/server/chunks/build/useDcwStream-BkWDGaWp.mjs +450 -0
  368. package/.output/server/chunks/build/useDcwStream-BkWDGaWp.mjs.map +1 -0
  369. package/.output/server/chunks/build/useDeviceTwins-NhtXqSkU.mjs +127 -0
  370. package/.output/server/chunks/build/useDeviceTwins-NhtXqSkU.mjs.map +1 -0
  371. package/.output/server/chunks/build/useOpsLog-CU64VDg5.mjs +124 -0
  372. package/.output/server/chunks/build/useOpsLog-CU64VDg5.mjs.map +1 -0
  373. package/.output/server/chunks/build/useSiteConfig-Cc-ABesl.mjs +27 -0
  374. package/.output/server/chunks/build/useSiteConfig-Cc-ABesl.mjs.map +1 -0
  375. package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs +25 -0
  376. package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs.map +1 -0
  377. package/.output/server/chunks/build/useWorkshopApi-5er8_EHZ.mjs +4786 -0
  378. package/.output/server/chunks/build/useWorkshopApi-5er8_EHZ.mjs.map +1 -0
  379. package/.output/server/chunks/build/useWorkshopWs-Dwr_1Q8f.mjs +1068 -0
  380. package/.output/server/chunks/build/useWorkshopWs-Dwr_1Q8f.mjs.map +1 -0
  381. package/.output/server/chunks/build/user-CpVY4OAA.mjs +140 -0
  382. package/.output/server/chunks/build/user-CpVY4OAA.mjs.map +1 -0
  383. package/.output/server/chunks/build/users-BMs4s_6K.mjs +558 -0
  384. package/.output/server/chunks/build/users-BMs4s_6K.mjs.map +1 -0
  385. package/.output/server/chunks/build/workshop-CJAyZ5zS.mjs +917 -0
  386. package/.output/server/chunks/build/workshop-CJAyZ5zS.mjs.map +1 -0
  387. package/.output/server/chunks/build/workspaces-Dq-1zvu9.mjs +125 -0
  388. package/.output/server/chunks/build/workspaces-Dq-1zvu9.mjs.map +1 -0
  389. package/.output/server/chunks/routes/api/health.get.mjs +40 -0
  390. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -0
  391. package/.output/server/chunks/routes/api/index.get.mjs +27 -0
  392. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -0
  393. package/.output/server/chunks/routes/api/index.post.mjs +27 -0
  394. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -0
  395. package/.output/server/chunks/routes/api/mcp/workshop.mjs +498 -0
  396. package/.output/server/chunks/routes/api/mcp/workshop.mjs.map +1 -0
  397. package/.output/server/chunks/routes/api/metrics.mjs +66 -0
  398. package/.output/server/chunks/routes/api/metrics.mjs.map +1 -0
  399. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +33 -0
  400. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -0
  401. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +30 -0
  402. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs.map +1 -0
  403. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +22 -0
  404. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs.map +1 -0
  405. package/.output/server/chunks/routes/api/system/config.get.mjs +24 -0
  406. package/.output/server/chunks/routes/api/system/config.get.mjs.map +1 -0
  407. package/.output/server/chunks/routes/api/system/index.get.mjs +24 -0
  408. package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -0
  409. package/.output/server/chunks/routes/api/system/index.patch.mjs +30 -0
  410. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -0
  411. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +148 -0
  412. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs.map +1 -0
  413. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +41 -0
  414. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs.map +1 -0
  415. package/.output/server/chunks/routes/api/system/monitor.get.mjs +24 -0
  416. package/.output/server/chunks/routes/api/system/monitor.get.mjs.map +1 -0
  417. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +35 -0
  418. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -0
  419. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +24 -0
  420. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs.map +1 -0
  421. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +26 -0
  422. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -0
  423. package/.output/server/chunks/routes/api/users/_id_.get.mjs +26 -0
  424. package/.output/server/chunks/routes/api/users/_id_.get.mjs.map +1 -0
  425. package/.output/server/chunks/routes/api/users/_id_.put.mjs +29 -0
  426. package/.output/server/chunks/routes/api/users/_id_.put.mjs.map +1 -0
  427. package/.output/server/chunks/routes/api/users/index.get.mjs +23 -0
  428. package/.output/server/chunks/routes/api/users/index.get.mjs.map +1 -0
  429. package/.output/server/chunks/routes/api/users/index.post.mjs +26 -0
  430. package/.output/server/chunks/routes/api/users/index.post.mjs.map +1 -0
  431. package/.output/server/chunks/routes/api/users/login.post.mjs +25 -0
  432. package/.output/server/chunks/routes/api/users/login.post.mjs.map +1 -0
  433. package/.output/server/chunks/routes/api/users/logout.post.mjs +23 -0
  434. package/.output/server/chunks/routes/api/users/logout.post.mjs.map +1 -0
  435. package/.output/server/chunks/routes/api/users/me.get.mjs +23 -0
  436. package/.output/server/chunks/routes/api/users/me.get.mjs.map +1 -0
  437. package/.output/server/chunks/routes/api/users/register.post.mjs +25 -0
  438. package/.output/server/chunks/routes/api/users/register.post.mjs.map +1 -0
  439. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +25 -0
  440. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs.map +1 -0
  441. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +25 -0
  442. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs.map +1 -0
  443. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +28 -0
  444. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs.map +1 -0
  445. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +22 -0
  446. package/.output/server/chunks/routes/api/workshop/_...path_.mjs.map +1 -0
  447. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +61 -0
  448. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs.map +1 -0
  449. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +333 -0
  450. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs.map +1 -0
  451. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +35 -0
  452. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs.map +1 -0
  453. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +30 -0
  454. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -0
  455. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +31 -0
  456. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs.map +1 -0
  457. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +27 -0
  458. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs.map +1 -0
  459. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +29 -0
  460. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs.map +1 -0
  461. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +32 -0
  462. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -0
  463. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +26 -0
  464. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs.map +1 -0
  465. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +38 -0
  466. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -0
  467. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +30 -0
  468. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs.map +1 -0
  469. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +29 -0
  470. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs.map +1 -0
  471. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +38 -0
  472. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs.map +1 -0
  473. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +30 -0
  474. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs.map +1 -0
  475. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +38 -0
  476. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs.map +1 -0
  477. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +38 -0
  478. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs.map +1 -0
  479. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +47 -0
  480. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs.map +1 -0
  481. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +28 -0
  482. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs.map +1 -0
  483. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +81 -0
  484. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs.map +1 -0
  485. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +81 -0
  486. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs.map +1 -0
  487. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +56 -0
  488. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs.map +1 -0
  489. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +55 -0
  490. package/.output/server/chunks/routes/api/workshop/audit.get.mjs.map +1 -0
  491. package/.output/server/chunks/routes/api/workshop/caller.mjs +107 -0
  492. package/.output/server/chunks/routes/api/workshop/caller.mjs.map +1 -0
  493. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +37 -0
  494. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs.map +1 -0
  495. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +30 -0
  496. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs.map +1 -0
  497. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +29 -0
  498. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs.map +1 -0
  499. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +55 -0
  500. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs.map +1 -0
  501. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +39 -0
  502. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs.map +1 -0
  503. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +29 -0
  504. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs.map +1 -0
  505. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +36 -0
  506. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs.map +1 -0
  507. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +52 -0
  508. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs.map +1 -0
  509. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +37 -0
  510. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs.map +1 -0
  511. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +46 -0
  512. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs.map +1 -0
  513. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +42 -0
  514. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs.map +1 -0
  515. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +40 -0
  516. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs.map +1 -0
  517. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +59 -0
  518. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs.map +1 -0
  519. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +33 -0
  520. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs.map +1 -0
  521. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +32 -0
  522. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs.map +1 -0
  523. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +37 -0
  524. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs.map +1 -0
  525. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +58 -0
  526. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs.map +1 -0
  527. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +34 -0
  528. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs.map +1 -0
  529. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +62 -0
  530. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs.map +1 -0
  531. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +35 -0
  532. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs.map +1 -0
  533. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +47 -0
  534. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs.map +1 -0
  535. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +49 -0
  536. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs.map +1 -0
  537. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +74 -0
  538. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs.map +1 -0
  539. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +30 -0
  540. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -0
  541. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +84 -0
  542. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs.map +1 -0
  543. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +36 -0
  544. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs.map +1 -0
  545. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +31 -0
  546. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs.map +1 -0
  547. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +27 -0
  548. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs.map +1 -0
  549. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +29 -0
  550. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs.map +1 -0
  551. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +29 -0
  552. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs.map +1 -0
  553. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +37 -0
  554. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs.map +1 -0
  555. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +24 -0
  556. package/.output/server/chunks/routes/api/workshop/channels.get.mjs.map +1 -0
  557. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +53 -0
  558. package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -0
  559. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +30 -0
  560. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -0
  561. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +34 -0
  562. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -0
  563. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +29 -0
  564. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs.map +1 -0
  565. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +41 -0
  566. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs.map +1 -0
  567. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +42 -0
  568. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -0
  569. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +26 -0
  570. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -0
  571. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +27 -0
  572. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs.map +1 -0
  573. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +53 -0
  574. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -0
  575. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +28 -0
  576. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -0
  577. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +29 -0
  578. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs.map +1 -0
  579. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +24 -0
  580. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs.map +1 -0
  581. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +28 -0
  582. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -0
  583. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +29 -0
  584. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -0
  585. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +30 -0
  586. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs.map +1 -0
  587. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +29 -0
  588. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -0
  589. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +27 -0
  590. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs.map +1 -0
  591. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +27 -0
  592. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -0
  593. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +29 -0
  594. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -0
  595. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +37 -0
  596. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -0
  597. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +29 -0
  598. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -0
  599. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +46 -0
  600. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs.map +1 -0
  601. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +33 -0
  602. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs.map +1 -0
  603. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +40 -0
  604. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -0
  605. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +26 -0
  606. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -0
  607. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +27 -0
  608. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -0
  609. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +35 -0
  610. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs.map +1 -0
  611. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +27 -0
  612. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -0
  613. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +25 -0
  614. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -0
  615. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +27 -0
  616. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -0
  617. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +24 -0
  618. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -0
  619. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +30 -0
  620. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs.map +1 -0
  621. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +41 -0
  622. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -0
  623. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +45 -0
  624. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -0
  625. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +44 -0
  626. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -0
  627. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +43 -0
  628. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs.map +1 -0
  629. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +27 -0
  630. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -0
  631. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +32 -0
  632. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs.map +1 -0
  633. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +35 -0
  634. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs.map +1 -0
  635. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +29 -0
  636. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs.map +1 -0
  637. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +29 -0
  638. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs.map +1 -0
  639. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +28 -0
  640. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -0
  641. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +28 -0
  642. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -0
  643. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +47 -0
  644. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs.map +1 -0
  645. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +31 -0
  646. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs.map +1 -0
  647. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +29 -0
  648. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs.map +1 -0
  649. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +27 -0
  650. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -0
  651. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs +28 -0
  652. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs.map +1 -0
  653. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +27 -0
  654. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs.map +1 -0
  655. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +27 -0
  656. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -0
  657. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +29 -0
  658. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs.map +1 -0
  659. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +27 -0
  660. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs.map +1 -0
  661. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +28 -0
  662. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs.map +1 -0
  663. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +27 -0
  664. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs.map +1 -0
  665. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +30 -0
  666. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs.map +1 -0
  667. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +29 -0
  668. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs.map +1 -0
  669. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +32 -0
  670. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs.map +1 -0
  671. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +36 -0
  672. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs.map +1 -0
  673. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +43 -0
  674. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs.map +1 -0
  675. package/.output/server/chunks/routes/api/workshop/index.get.mjs +25 -0
  676. package/.output/server/chunks/routes/api/workshop/index.get.mjs.map +1 -0
  677. package/.output/server/chunks/routes/api/workshop/index.post.mjs +38 -0
  678. package/.output/server/chunks/routes/api/workshop/index.post.mjs.map +1 -0
  679. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +24 -0
  680. package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -0
  681. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +31 -0
  682. package/.output/server/chunks/routes/api/workshop/index2.get.mjs.map +1 -0
  683. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +68 -0
  684. package/.output/server/chunks/routes/api/workshop/index2.post.mjs.map +1 -0
  685. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +25 -0
  686. package/.output/server/chunks/routes/api/workshop/index3.get.mjs.map +1 -0
  687. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +41 -0
  688. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -0
  689. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +47 -0
  690. package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -0
  691. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +29 -0
  692. package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -0
  693. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +36 -0
  694. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -0
  695. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +40 -0
  696. package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -0
  697. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +26 -0
  698. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -0
  699. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +43 -0
  700. package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -0
  701. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +40 -0
  702. package/.output/server/chunks/routes/api/workshop/index7.get.mjs.map +1 -0
  703. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +36 -0
  704. package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -0
  705. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +30 -0
  706. package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -0
  707. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +27 -0
  708. package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -0
  709. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +25 -0
  710. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -0
  711. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +31 -0
  712. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs.map +1 -0
  713. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +27 -0
  714. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs.map +1 -0
  715. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +25 -0
  716. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs.map +1 -0
  717. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +33 -0
  718. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -0
  719. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +33 -0
  720. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -0
  721. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +28 -0
  722. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs.map +1 -0
  723. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +24 -0
  724. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs.map +1 -0
  725. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +32 -0
  726. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs.map +1 -0
  727. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +39 -0
  728. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs.map +1 -0
  729. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +25 -0
  730. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs.map +1 -0
  731. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +37 -0
  732. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs.map +1 -0
  733. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +39 -0
  734. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs.map +1 -0
  735. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +36 -0
  736. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs.map +1 -0
  737. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +44 -0
  738. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs.map +1 -0
  739. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +36 -0
  740. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs.map +1 -0
  741. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +37 -0
  742. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs.map +1 -0
  743. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +24 -0
  744. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs.map +1 -0
  745. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +42 -0
  746. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs.map +1 -0
  747. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +29 -0
  748. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs.map +1 -0
  749. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +39 -0
  750. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs.map +1 -0
  751. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +30 -0
  752. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs.map +1 -0
  753. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +30 -0
  754. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs.map +1 -0
  755. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +29 -0
  756. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs.map +1 -0
  757. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +40 -0
  758. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs.map +1 -0
  759. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +35 -0
  760. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs.map +1 -0
  761. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +37 -0
  762. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs.map +1 -0
  763. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +39 -0
  764. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs.map +1 -0
  765. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +27 -0
  766. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs.map +1 -0
  767. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +27 -0
  768. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs.map +1 -0
  769. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +26 -0
  770. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs.map +1 -0
  771. package/.output/server/chunks/routes/renderer.mjs +392 -0
  772. package/.output/server/chunks/routes/renderer.mjs.map +1 -0
  773. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  774. package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  775. package/.output/server/chunks/virtual/entry.mjs +18401 -0
  776. package/.output/server/chunks/virtual/entry.mjs.map +1 -0
  777. package/.output/server/chunks/virtual/precomputed.mjs +4 -0
  778. package/.output/server/chunks/virtual/precomputed.mjs.map +1 -0
  779. package/.output/server/index.mjs +5561 -0
  780. package/.output/server/index.mjs.map +1 -0
  781. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/api.js +2 -0
  782. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/app.js +2 -0
  783. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/component.js +2 -0
  784. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/context.js +2 -0
  785. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/hooks.js +2 -0
  786. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/index.js +22 -0
  787. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/util.js +2 -0
  788. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/const.js +5 -0
  789. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/env.js +17 -0
  790. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/index.js +45 -0
  791. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/plugin.js +2 -0
  792. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/proxy.js +111 -0
  793. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/time.js +28 -0
  794. package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/package.json +37 -0
  795. package/.output/server/node_modules/.nitro/@vue/devtools-api@7.7.10/dist/index.cjs +42 -0
  796. package/.output/server/node_modules/.nitro/@vue/devtools-api@7.7.10/package.json +32 -0
  797. package/.output/server/node_modules/.nitro/hookable@5.5.3/dist/index.cjs +299 -0
  798. package/.output/server/node_modules/.nitro/hookable@5.5.3/package.json +49 -0
  799. package/.output/server/node_modules/.nitro/hookable@6.1.1/dist/index.mjs +257 -0
  800. package/.output/server/node_modules/.nitro/hookable@6.1.1/package.json +53 -0
  801. package/.output/server/node_modules/@adonisjs/hash/build/chunk-7RS6HCBK.js +36 -0
  802. package/.output/server/node_modules/@adonisjs/hash/build/chunk-JSA56AE7.js +26 -0
  803. package/.output/server/node_modules/@adonisjs/hash/build/chunk-JSBRDJBE.js +30 -0
  804. package/.output/server/node_modules/@adonisjs/hash/build/chunk-RHMXMP27.js +202 -0
  805. package/.output/server/node_modules/@adonisjs/hash/build/chunk-WB54OA6N.js +193 -0
  806. package/.output/server/node_modules/@adonisjs/hash/build/index.js +9 -0
  807. package/.output/server/node_modules/@adonisjs/hash/build/src/drivers/scrypt.js +9 -0
  808. package/.output/server/node_modules/@adonisjs/hash/package.json +150 -0
  809. package/.output/server/node_modules/@ant-design/colors/dist/index.js +255 -0
  810. package/.output/server/node_modules/@ant-design/colors/package.json +53 -0
  811. package/.output/server/node_modules/@babel/parser/lib/index.js +14611 -0
  812. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  813. package/.output/server/node_modules/@ctrl/tinycolor/dist/conversion.js +250 -0
  814. package/.output/server/node_modules/@ctrl/tinycolor/dist/css-color-names.js +157 -0
  815. package/.output/server/node_modules/@ctrl/tinycolor/dist/format-input.js +189 -0
  816. package/.output/server/node_modules/@ctrl/tinycolor/dist/from-ratio.js +30 -0
  817. package/.output/server/node_modules/@ctrl/tinycolor/dist/index.js +512 -0
  818. package/.output/server/node_modules/@ctrl/tinycolor/dist/interfaces.js +2 -0
  819. package/.output/server/node_modules/@ctrl/tinycolor/dist/public_api.js +28 -0
  820. package/.output/server/node_modules/@ctrl/tinycolor/dist/random.js +282 -0
  821. package/.output/server/node_modules/@ctrl/tinycolor/dist/readability.js +86 -0
  822. package/.output/server/node_modules/@ctrl/tinycolor/dist/to-ms-filter.js +20 -0
  823. package/.output/server/node_modules/@ctrl/tinycolor/dist/util.js +92 -0
  824. package/.output/server/node_modules/@ctrl/tinycolor/package.json +80 -0
  825. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +64 -0
  826. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +16 -0
  827. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js +32 -0
  828. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js +246 -0
  829. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/package.json +1 -0
  830. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +41 -0
  831. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +429 -0
  832. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +917 -0
  833. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
  834. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +949 -0
  835. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +228 -0
  836. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +51 -0
  837. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
  838. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +1107 -0
  839. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +92 -0
  840. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/uriTemplate.js +239 -0
  841. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +2065 -0
  842. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +87 -0
  843. package/.output/server/node_modules/@modelcontextprotocol/sdk/package.json +165 -0
  844. package/.output/server/node_modules/@phc/format/index.js +229 -0
  845. package/.output/server/node_modules/@phc/format/package.json +60 -0
  846. package/.output/server/node_modules/@poppinss/exception/build/index.js +44 -0
  847. package/.output/server/node_modules/@poppinss/exception/package.json +109 -0
  848. package/.output/server/node_modules/@poppinss/object-builder/build/index.js +49 -0
  849. package/.output/server/node_modules/@poppinss/object-builder/package.json +112 -0
  850. package/.output/server/node_modules/@poppinss/string/build/index.js +2 -0
  851. package/.output/server/node_modules/@poppinss/string/build/string-DVIVpZLG.js +737 -0
  852. package/.output/server/node_modules/@poppinss/string/package.json +131 -0
  853. package/.output/server/node_modules/@poppinss/utils/build/chunk-2KG3PWR4.js +17 -0
  854. package/.output/server/node_modules/@poppinss/utils/build/chunk-4V5ON6P7.js +7 -0
  855. package/.output/server/node_modules/@poppinss/utils/build/chunk-EJKUJ44Y.js +12 -0
  856. package/.output/server/node_modules/@poppinss/utils/build/chunk-H54AK3PI.js +7 -0
  857. package/.output/server/node_modules/@poppinss/utils/build/chunk-XHQBV7AF.js +39 -0
  858. package/.output/server/node_modules/@poppinss/utils/build/index.js +365 -0
  859. package/.output/server/node_modules/@poppinss/utils/build/lodash/main.cjs +39 -0
  860. package/.output/server/node_modules/@poppinss/utils/package.json +153 -0
  861. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6801 -0
  862. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  863. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +692 -0
  864. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  865. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
  866. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  867. package/.output/server/node_modules/@vue/devtools-kit/dist/index.cjs +6781 -0
  868. package/.output/server/node_modules/@vue/devtools-kit/package.json +45 -0
  869. package/.output/server/node_modules/@vue/devtools-shared/dist/index.cjs +378 -0
  870. package/.output/server/node_modules/@vue/devtools-shared/package.json +35 -0
  871. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1903 -0
  872. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  873. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6976 -0
  874. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  875. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1841 -0
  876. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  877. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +904 -0
  878. package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
  879. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +609 -0
  880. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  881. package/.output/server/node_modules/@xterm/addon-fit/lib/addon-fit.js +2 -0
  882. package/.output/server/node_modules/@xterm/addon-fit/package.json +26 -0
  883. package/.output/server/node_modules/@xterm/xterm/lib/xterm.js +2 -0
  884. package/.output/server/node_modules/@xterm/xterm/package.json +111 -0
  885. package/.output/server/node_modules/agent-base/dist/src/index.js +203 -0
  886. package/.output/server/node_modules/agent-base/dist/src/promisify.js +18 -0
  887. package/.output/server/node_modules/agent-base/package.json +64 -0
  888. package/.output/server/node_modules/ajv/dist/ajv.js +50 -0
  889. package/.output/server/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  890. package/.output/server/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  891. package/.output/server/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  892. package/.output/server/node_modules/ajv/dist/compile/errors.js +123 -0
  893. package/.output/server/node_modules/ajv/dist/compile/index.js +242 -0
  894. package/.output/server/node_modules/ajv/dist/compile/names.js +28 -0
  895. package/.output/server/node_modules/ajv/dist/compile/ref_error.js +12 -0
  896. package/.output/server/node_modules/ajv/dist/compile/resolve.js +155 -0
  897. package/.output/server/node_modules/ajv/dist/compile/rules.js +26 -0
  898. package/.output/server/node_modules/ajv/dist/compile/util.js +178 -0
  899. package/.output/server/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  900. package/.output/server/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  901. package/.output/server/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  902. package/.output/server/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  903. package/.output/server/node_modules/ajv/dist/compile/validate/index.js +520 -0
  904. package/.output/server/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  905. package/.output/server/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  906. package/.output/server/node_modules/ajv/dist/core.js +618 -0
  907. package/.output/server/node_modules/ajv/dist/refs/data.json +13 -0
  908. package/.output/server/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  909. package/.output/server/node_modules/ajv/dist/runtime/equal.js +7 -0
  910. package/.output/server/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  911. package/.output/server/node_modules/ajv/dist/runtime/uri.js +6 -0
  912. package/.output/server/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  913. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  914. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  915. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  916. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  917. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  918. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  919. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  920. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  921. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  922. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  923. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  924. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  925. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  926. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  927. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  928. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  929. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  930. package/.output/server/node_modules/ajv/dist/vocabularies/code.js +131 -0
  931. package/.output/server/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  932. package/.output/server/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  933. package/.output/server/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  934. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  935. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  936. package/.output/server/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  937. package/.output/server/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  938. package/.output/server/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  939. package/.output/server/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  940. package/.output/server/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  941. package/.output/server/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  942. package/.output/server/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  943. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  944. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  945. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  946. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  947. package/.output/server/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  948. package/.output/server/node_modules/ajv/dist/vocabularies/validation/pattern.js +33 -0
  949. package/.output/server/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  950. package/.output/server/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  951. package/.output/server/node_modules/ajv/package.json +126 -0
  952. package/.output/server/node_modules/ajv-formats/dist/formats.js +208 -0
  953. package/.output/server/node_modules/ajv-formats/dist/index.js +37 -0
  954. package/.output/server/node_modules/ajv-formats/dist/limit.js +69 -0
  955. package/.output/server/node_modules/ajv-formats/package.json +74 -0
  956. package/.output/server/node_modules/asynckit/index.js +6 -0
  957. package/.output/server/node_modules/asynckit/lib/abort.js +29 -0
  958. package/.output/server/node_modules/asynckit/lib/async.js +34 -0
  959. package/.output/server/node_modules/asynckit/lib/defer.js +26 -0
  960. package/.output/server/node_modules/asynckit/lib/iterate.js +75 -0
  961. package/.output/server/node_modules/asynckit/lib/state.js +37 -0
  962. package/.output/server/node_modules/asynckit/lib/terminator.js +29 -0
  963. package/.output/server/node_modules/asynckit/package.json +63 -0
  964. package/.output/server/node_modules/asynckit/parallel.js +43 -0
  965. package/.output/server/node_modules/asynckit/serial.js +17 -0
  966. package/.output/server/node_modules/asynckit/serialOrdered.js +75 -0
  967. package/.output/server/node_modules/axios/index.js +45 -0
  968. package/.output/server/node_modules/axios/lib/adapters/adapters.js +132 -0
  969. package/.output/server/node_modules/axios/lib/adapters/fetch.js +643 -0
  970. package/.output/server/node_modules/axios/lib/adapters/http.js +1406 -0
  971. package/.output/server/node_modules/axios/lib/adapters/xhr.js +228 -0
  972. package/.output/server/node_modules/axios/lib/axios.js +89 -0
  973. package/.output/server/node_modules/axios/lib/cancel/CancelToken.js +135 -0
  974. package/.output/server/node_modules/axios/lib/cancel/CanceledError.js +22 -0
  975. package/.output/server/node_modules/axios/lib/cancel/isCancel.js +5 -0
  976. package/.output/server/node_modules/axios/lib/core/Axios.js +301 -0
  977. package/.output/server/node_modules/axios/lib/core/AxiosError.js +219 -0
  978. package/.output/server/node_modules/axios/lib/core/AxiosHeaders.js +474 -0
  979. package/.output/server/node_modules/axios/lib/core/InterceptorManager.js +72 -0
  980. package/.output/server/node_modules/axios/lib/core/buildFullPath.js +88 -0
  981. package/.output/server/node_modules/axios/lib/core/dispatchRequest.js +89 -0
  982. package/.output/server/node_modules/axios/lib/core/mergeConfig.js +174 -0
  983. package/.output/server/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  984. package/.output/server/node_modules/axios/lib/core/settle.js +27 -0
  985. package/.output/server/node_modules/axios/lib/core/transformData.js +28 -0
  986. package/.output/server/node_modules/axios/lib/defaults/index.js +177 -0
  987. package/.output/server/node_modules/axios/lib/defaults/transitional.js +10 -0
  988. package/.output/server/node_modules/axios/lib/env/data.js +1 -0
  989. package/.output/server/node_modules/axios/lib/helpers/AxiosTransformStream.js +156 -0
  990. package/.output/server/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +59 -0
  991. package/.output/server/node_modules/axios/lib/helpers/Http2Sessions.js +119 -0
  992. package/.output/server/node_modules/axios/lib/helpers/HttpStatusCode.js +78 -0
  993. package/.output/server/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +29 -0
  994. package/.output/server/node_modules/axios/lib/helpers/bind.js +14 -0
  995. package/.output/server/node_modules/axios/lib/helpers/buildURL.js +69 -0
  996. package/.output/server/node_modules/axios/lib/helpers/callbackify.js +18 -0
  997. package/.output/server/node_modules/axios/lib/helpers/combineURLs.js +23 -0
  998. package/.output/server/node_modules/axios/lib/helpers/composeSignals.js +68 -0
  999. package/.output/server/node_modules/axios/lib/helpers/cookies.js +64 -0
  1000. package/.output/server/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +166 -0
  1001. package/.output/server/node_modules/axios/lib/helpers/formDataToJSON.js +125 -0
  1002. package/.output/server/node_modules/axios/lib/helpers/formDataToStream.js +119 -0
  1003. package/.output/server/node_modules/axios/lib/helpers/fromDataURI.js +68 -0
  1004. package/.output/server/node_modules/axios/lib/helpers/isAbsoluteURL.js +19 -0
  1005. package/.output/server/node_modules/axios/lib/helpers/isAxiosError.js +14 -0
  1006. package/.output/server/node_modules/axios/lib/helpers/isURLSameOrigin.js +16 -0
  1007. package/.output/server/node_modules/axios/lib/helpers/parseHeaders.js +71 -0
  1008. package/.output/server/node_modules/axios/lib/helpers/parseProtocol.js +6 -0
  1009. package/.output/server/node_modules/axios/lib/helpers/progressEventReducer.js +54 -0
  1010. package/.output/server/node_modules/axios/lib/helpers/readBlob.js +15 -0
  1011. package/.output/server/node_modules/axios/lib/helpers/resolveConfig.js +105 -0
  1012. package/.output/server/node_modules/axios/lib/helpers/sanitizeHeaderValue.js +60 -0
  1013. package/.output/server/node_modules/axios/lib/helpers/shouldBypassProxy.js +329 -0
  1014. package/.output/server/node_modules/axios/lib/helpers/speedometer.js +55 -0
  1015. package/.output/server/node_modules/axios/lib/helpers/spread.js +28 -0
  1016. package/.output/server/node_modules/axios/lib/helpers/throttle.js +44 -0
  1017. package/.output/server/node_modules/axios/lib/helpers/toFormData.js +286 -0
  1018. package/.output/server/node_modules/axios/lib/helpers/toURLEncodedForm.js +19 -0
  1019. package/.output/server/node_modules/axios/lib/helpers/trackStream.js +89 -0
  1020. package/.output/server/node_modules/axios/lib/helpers/validator.js +112 -0
  1021. package/.output/server/node_modules/axios/lib/platform/common/utils.js +52 -0
  1022. package/.output/server/node_modules/axios/lib/platform/index.js +7 -0
  1023. package/.output/server/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  1024. package/.output/server/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
  1025. package/.output/server/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +4 -0
  1026. package/.output/server/node_modules/axios/lib/platform/node/index.js +37 -0
  1027. package/.output/server/node_modules/axios/lib/utils.js +1029 -0
  1028. package/.output/server/node_modules/axios/package.json +203 -0
  1029. package/.output/server/node_modules/birpc/dist/index.cjs +296 -0
  1030. package/.output/server/node_modules/birpc/package.json +57 -0
  1031. package/.output/server/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  1032. package/.output/server/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  1033. package/.output/server/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  1034. package/.output/server/node_modules/call-bind-apply-helpers/index.js +15 -0
  1035. package/.output/server/node_modules/call-bind-apply-helpers/package.json +85 -0
  1036. package/.output/server/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  1037. package/.output/server/node_modules/case-anything/dist/core.js +242 -0
  1038. package/.output/server/node_modules/case-anything/dist/index.js +1 -0
  1039. package/.output/server/node_modules/case-anything/dist/utils.js +90 -0
  1040. package/.output/server/node_modules/case-anything/package.json +61 -0
  1041. package/.output/server/node_modules/combined-stream/lib/combined_stream.js +208 -0
  1042. package/.output/server/node_modules/combined-stream/package.json +25 -0
  1043. package/.output/server/node_modules/content-type/index.js +225 -0
  1044. package/.output/server/node_modules/content-type/package.json +42 -0
  1045. package/.output/server/node_modules/debug/package.json +64 -0
  1046. package/.output/server/node_modules/debug/src/browser.js +272 -0
  1047. package/.output/server/node_modules/debug/src/common.js +292 -0
  1048. package/.output/server/node_modules/debug/src/index.js +10 -0
  1049. package/.output/server/node_modules/debug/src/node.js +263 -0
  1050. package/.output/server/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  1051. package/.output/server/node_modules/delayed-stream/package.json +27 -0
  1052. package/.output/server/node_modules/devalue/index.js +17 -0
  1053. package/.output/server/node_modules/devalue/package.json +39 -0
  1054. package/.output/server/node_modules/devalue/src/base64.js +60 -0
  1055. package/.output/server/node_modules/devalue/src/constants.js +12 -0
  1056. package/.output/server/node_modules/devalue/src/operations.js +193 -0
  1057. package/.output/server/node_modules/devalue/src/parse.js +270 -0
  1058. package/.output/server/node_modules/devalue/src/stringify.js +428 -0
  1059. package/.output/server/node_modules/devalue/src/uneval.js +582 -0
  1060. package/.output/server/node_modules/devalue/src/utils.js +185 -0
  1061. package/.output/server/node_modules/dunder-proto/get.js +30 -0
  1062. package/.output/server/node_modules/dunder-proto/package.json +76 -0
  1063. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  1064. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  1065. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  1066. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  1067. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  1068. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  1069. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  1070. package/.output/server/node_modules/entities/package.json +120 -0
  1071. package/.output/server/node_modules/es-define-property/index.js +14 -0
  1072. package/.output/server/node_modules/es-define-property/package.json +81 -0
  1073. package/.output/server/node_modules/es-errors/eval.js +4 -0
  1074. package/.output/server/node_modules/es-errors/index.js +4 -0
  1075. package/.output/server/node_modules/es-errors/package.json +80 -0
  1076. package/.output/server/node_modules/es-errors/range.js +4 -0
  1077. package/.output/server/node_modules/es-errors/ref.js +4 -0
  1078. package/.output/server/node_modules/es-errors/syntax.js +4 -0
  1079. package/.output/server/node_modules/es-errors/type.js +4 -0
  1080. package/.output/server/node_modules/es-errors/uri.js +4 -0
  1081. package/.output/server/node_modules/es-object-atoms/index.js +4 -0
  1082. package/.output/server/node_modules/es-object-atoms/package.json +79 -0
  1083. package/.output/server/node_modules/es-set-tostringtag/index.js +35 -0
  1084. package/.output/server/node_modules/es-set-tostringtag/package.json +78 -0
  1085. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  1086. package/.output/server/node_modules/estree-walker/package.json +37 -0
  1087. package/.output/server/node_modules/fast-deep-equal/index.js +46 -0
  1088. package/.output/server/node_modules/fast-deep-equal/package.json +61 -0
  1089. package/.output/server/node_modules/fast-uri/index.js +459 -0
  1090. package/.output/server/node_modules/fast-uri/lib/schemes.js +267 -0
  1091. package/.output/server/node_modules/fast-uri/lib/utils.js +443 -0
  1092. package/.output/server/node_modules/fast-uri/package.json +68 -0
  1093. package/.output/server/node_modules/flattie/dist/index.mjs +25 -0
  1094. package/.output/server/node_modules/flattie/package.json +48 -0
  1095. package/.output/server/node_modules/follow-redirects/debug.js +15 -0
  1096. package/.output/server/node_modules/follow-redirects/index.js +709 -0
  1097. package/.output/server/node_modules/follow-redirects/package.json +58 -0
  1098. package/.output/server/node_modules/form-data/lib/form_data.js +506 -0
  1099. package/.output/server/node_modules/form-data/lib/populate.js +10 -0
  1100. package/.output/server/node_modules/form-data/package.json +82 -0
  1101. package/.output/server/node_modules/function-bind/implementation.js +84 -0
  1102. package/.output/server/node_modules/function-bind/index.js +5 -0
  1103. package/.output/server/node_modules/function-bind/package.json +87 -0
  1104. package/.output/server/node_modules/get-intrinsic/index.js +378 -0
  1105. package/.output/server/node_modules/get-intrinsic/package.json +97 -0
  1106. package/.output/server/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  1107. package/.output/server/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  1108. package/.output/server/node_modules/get-proto/index.js +27 -0
  1109. package/.output/server/node_modules/get-proto/package.json +81 -0
  1110. package/.output/server/node_modules/gopd/gOPD.js +4 -0
  1111. package/.output/server/node_modules/gopd/index.js +15 -0
  1112. package/.output/server/node_modules/gopd/package.json +77 -0
  1113. package/.output/server/node_modules/has-flag/index.js +8 -0
  1114. package/.output/server/node_modules/has-flag/package.json +46 -0
  1115. package/.output/server/node_modules/has-symbols/index.js +14 -0
  1116. package/.output/server/node_modules/has-symbols/package.json +111 -0
  1117. package/.output/server/node_modules/has-symbols/shams.js +45 -0
  1118. package/.output/server/node_modules/has-tostringtag/package.json +108 -0
  1119. package/.output/server/node_modules/has-tostringtag/shams.js +8 -0
  1120. package/.output/server/node_modules/hasown/index.js +8 -0
  1121. package/.output/server/node_modules/hasown/package.json +91 -0
  1122. package/.output/server/node_modules/https-proxy-agent/dist/agent.js +177 -0
  1123. package/.output/server/node_modules/https-proxy-agent/dist/index.js +14 -0
  1124. package/.output/server/node_modules/https-proxy-agent/dist/parse-proxy-response.js +66 -0
  1125. package/.output/server/node_modules/https-proxy-agent/package.json +56 -0
  1126. package/.output/server/node_modules/jose/dist/webapi/index.js +32 -0
  1127. package/.output/server/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +9 -0
  1128. package/.output/server/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +27 -0
  1129. package/.output/server/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +11 -0
  1130. package/.output/server/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +72 -0
  1131. package/.output/server/node_modules/jose/dist/webapi/jwe/general/decrypt.js +51 -0
  1132. package/.output/server/node_modules/jose/dist/webapi/jwe/general/encrypt.js +166 -0
  1133. package/.output/server/node_modules/jose/dist/webapi/jwk/embedded.js +19 -0
  1134. package/.output/server/node_modules/jose/dist/webapi/jwk/thumbprint.js +68 -0
  1135. package/.output/server/node_modules/jose/dist/webapi/jwks/local.js +78 -0
  1136. package/.output/server/node_modules/jose/dist/webapi/jwks/remote.js +170 -0
  1137. package/.output/server/node_modules/jose/dist/webapi/jws/compact/sign.js +21 -0
  1138. package/.output/server/node_modules/jose/dist/webapi/jws/compact/verify.js +9 -0
  1139. package/.output/server/node_modules/jose/dist/webapi/jws/flattened/sign.js +31 -0
  1140. package/.output/server/node_modules/jose/dist/webapi/jws/flattened/verify.js +24 -0
  1141. package/.output/server/node_modules/jose/dist/webapi/jws/general/sign.js +74 -0
  1142. package/.output/server/node_modules/jose/dist/webapi/jws/general/verify.js +44 -0
  1143. package/.output/server/node_modules/jose/dist/webapi/jwt/decrypt.js +23 -0
  1144. package/.output/server/node_modules/jose/dist/webapi/jwt/encrypt.js +101 -0
  1145. package/.output/server/node_modules/jose/dist/webapi/jwt/sign.js +51 -0
  1146. package/.output/server/node_modules/jose/dist/webapi/jwt/unsecured.js +64 -0
  1147. package/.output/server/node_modules/jose/dist/webapi/jwt/verify.js +15 -0
  1148. package/.output/server/node_modules/jose/dist/webapi/key/export.js +44 -0
  1149. package/.output/server/node_modules/jose/dist/webapi/key/generate_key_pair.js +48 -0
  1150. package/.output/server/node_modules/jose/dist/webapi/key/generate_secret.js +40 -0
  1151. package/.output/server/node_modules/jose/dist/webapi/key/import.js +57 -0
  1152. package/.output/server/node_modules/jose/dist/webapi/lib/asn1.js +174 -0
  1153. package/.output/server/node_modules/jose/dist/webapi/lib/base64.js +22 -0
  1154. package/.output/server/node_modules/jose/dist/webapi/lib/buffer_utils.js +44 -0
  1155. package/.output/server/node_modules/jose/dist/webapi/lib/content_encryption.js +142 -0
  1156. package/.output/server/node_modules/jose/dist/webapi/lib/crypto_key.js +28 -0
  1157. package/.output/server/node_modules/jose/dist/webapi/lib/deflate.js +44 -0
  1158. package/.output/server/node_modules/jose/dist/webapi/lib/helpers.js +42 -0
  1159. package/.output/server/node_modules/jose/dist/webapi/lib/invalid_key_input.js +26 -0
  1160. package/.output/server/node_modules/jose/dist/webapi/lib/is_key_like.js +17 -0
  1161. package/.output/server/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +107 -0
  1162. package/.output/server/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +186 -0
  1163. package/.output/server/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +110 -0
  1164. package/.output/server/node_modules/jose/dist/webapi/lib/jwk_to_key.js +17 -0
  1165. package/.output/server/node_modules/jose/dist/webapi/lib/jws_algorithms.js +73 -0
  1166. package/.output/server/node_modules/jose/dist/webapi/lib/jws_sign.js +74 -0
  1167. package/.output/server/node_modules/jose/dist/webapi/lib/jws_verify.js +107 -0
  1168. package/.output/server/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +197 -0
  1169. package/.output/server/node_modules/jose/dist/webapi/lib/key.js +132 -0
  1170. package/.output/server/node_modules/jose/dist/webapi/lib/key_algorithm.js +10 -0
  1171. package/.output/server/node_modules/jose/dist/webapi/lib/key_descriptor.js +7 -0
  1172. package/.output/server/node_modules/jose/dist/webapi/lib/key_management.js +256 -0
  1173. package/.output/server/node_modules/jose/dist/webapi/lib/options.js +48 -0
  1174. package/.output/server/node_modules/jose/dist/webapi/lib/signing.js +26 -0
  1175. package/.output/server/node_modules/jose/dist/webapi/lib/type_checks.js +35 -0
  1176. package/.output/server/node_modules/jose/dist/webapi/util/base64url.js +39 -0
  1177. package/.output/server/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -0
  1178. package/.output/server/node_modules/jose/dist/webapi/util/decode_protected_header.js +24 -0
  1179. package/.output/server/node_modules/jose/dist/webapi/util/errors.js +99 -0
  1180. package/.output/server/node_modules/jose/package.json +198 -0
  1181. package/.output/server/node_modules/js-yaml/dist/js-yaml.mjs +3074 -0
  1182. package/.output/server/node_modules/js-yaml/package.json +83 -0
  1183. package/.output/server/node_modules/json-schema-traverse/index.js +93 -0
  1184. package/.output/server/node_modules/json-schema-traverse/package.json +43 -0
  1185. package/.output/server/node_modules/math-intrinsics/abs.js +4 -0
  1186. package/.output/server/node_modules/math-intrinsics/floor.js +4 -0
  1187. package/.output/server/node_modules/math-intrinsics/isNaN.js +6 -0
  1188. package/.output/server/node_modules/math-intrinsics/max.js +4 -0
  1189. package/.output/server/node_modules/math-intrinsics/min.js +4 -0
  1190. package/.output/server/node_modules/math-intrinsics/package.json +86 -0
  1191. package/.output/server/node_modules/math-intrinsics/pow.js +4 -0
  1192. package/.output/server/node_modules/math-intrinsics/round.js +4 -0
  1193. package/.output/server/node_modules/math-intrinsics/sign.js +11 -0
  1194. package/.output/server/node_modules/mime-db/db.json +8519 -0
  1195. package/.output/server/node_modules/mime-db/index.js +12 -0
  1196. package/.output/server/node_modules/mime-db/package.json +60 -0
  1197. package/.output/server/node_modules/mime-types/index.js +188 -0
  1198. package/.output/server/node_modules/mime-types/package.json +44 -0
  1199. package/.output/server/node_modules/ms/index.js +162 -0
  1200. package/.output/server/node_modules/ms/package.json +38 -0
  1201. package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
  1202. package/.output/server/node_modules/nostics/dist/index.mjs +187 -0
  1203. package/.output/server/node_modules/nostics/package.json +125 -0
  1204. package/.output/server/node_modules/oauth4webapi/build/index.js +2506 -0
  1205. package/.output/server/node_modules/oauth4webapi/package.json +105 -0
  1206. package/.output/server/node_modules/openid-client/build/index.js +1357 -0
  1207. package/.output/server/node_modules/openid-client/package.json +122 -0
  1208. package/.output/server/node_modules/perfect-debounce/dist/index.cjs +59 -0
  1209. package/.output/server/node_modules/perfect-debounce/package.json +44 -0
  1210. package/.output/server/node_modules/pinia/dist/pinia.prod.cjs +719 -0
  1211. package/.output/server/node_modules/pinia/package.json +94 -0
  1212. package/.output/server/node_modules/pluralize/package.json +40 -0
  1213. package/.output/server/node_modules/pluralize/pluralize.js +503 -0
  1214. package/.output/server/node_modules/proxy-from-env/index.js +103 -0
  1215. package/.output/server/node_modules/proxy-from-env/package.json +46 -0
  1216. package/.output/server/node_modules/safe-stable-stringify/esm/package.json +4 -0
  1217. package/.output/server/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
  1218. package/.output/server/node_modules/safe-stable-stringify/index.js +625 -0
  1219. package/.output/server/node_modules/safe-stable-stringify/package.json +65 -0
  1220. package/.output/server/node_modules/secure-json-parse/index.js +161 -0
  1221. package/.output/server/node_modules/secure-json-parse/package.json +74 -0
  1222. package/.output/server/node_modules/slugify/package.json +42 -0
  1223. package/.output/server/node_modules/slugify/slugify.js +69 -0
  1224. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  1225. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  1226. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  1227. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  1228. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  1229. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  1230. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  1231. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  1232. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  1233. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  1234. package/.output/server/node_modules/source-map-js/package.json +71 -0
  1235. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  1236. package/.output/server/node_modules/supports-color/index.js +135 -0
  1237. package/.output/server/node_modules/supports-color/package.json +53 -0
  1238. package/.output/server/node_modules/three/build/three.cjs +80028 -0
  1239. package/.output/server/node_modules/three/build/three.core.js +60007 -0
  1240. package/.output/server/node_modules/three/build/three.module.js +19610 -0
  1241. package/.output/server/node_modules/three/examples/jsm/environments/RoomEnvironment.js +185 -0
  1242. package/.output/server/node_modules/three/examples/jsm/loaders/GLTFLoader.js +4860 -0
  1243. package/.output/server/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +1501 -0
  1244. package/.output/server/node_modules/three/examples/jsm/utils/SkeletonUtils.js +496 -0
  1245. package/.output/server/node_modules/three/package.json +123 -0
  1246. package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  1247. package/.output/server/node_modules/ufo/package.json +48 -0
  1248. package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
  1249. package/.output/server/node_modules/unhead/dist/index.mjs +52 -0
  1250. package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
  1251. package/.output/server/node_modules/unhead/dist/minify.mjs +172 -0
  1252. package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
  1253. package/.output/server/node_modules/unhead/dist/plugins.mjs +631 -0
  1254. package/.output/server/node_modules/unhead/dist/scripts.node.mjs +6 -0
  1255. package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
  1256. package/.output/server/node_modules/unhead/dist/shared/unhead.10KEJHqy.mjs +184 -0
  1257. package/.output/server/node_modules/unhead/dist/shared/unhead.BCcw-xUY.mjs +19 -0
  1258. package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
  1259. package/.output/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +47 -0
  1260. package/.output/server/node_modules/unhead/dist/shared/unhead.BTzUdyNs.mjs +194 -0
  1261. package/.output/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +67 -0
  1262. package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
  1263. package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
  1264. package/.output/server/node_modules/unhead/dist/shared/unhead.BuspQZgK.mjs +231 -0
  1265. package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
  1266. package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
  1267. package/.output/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +27 -0
  1268. package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
  1269. package/.output/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +400 -0
  1270. package/.output/server/node_modules/unhead/dist/shared/unhead.JIneUUHd.mjs +264 -0
  1271. package/.output/server/node_modules/unhead/dist/shared/unhead.q9F_9EzH.mjs +588 -0
  1272. package/.output/server/node_modules/unhead/dist/shared/unhead.sGLr_XKf.mjs +201 -0
  1273. package/.output/server/node_modules/unhead/dist/stream/client.mjs +28 -0
  1274. package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
  1275. package/.output/server/node_modules/unhead/dist/stream/server.mjs +264 -0
  1276. package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
  1277. package/.output/server/node_modules/unhead/package.json +179 -0
  1278. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  1279. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  1280. package/.output/server/node_modules/vue/index.js +7 -0
  1281. package/.output/server/node_modules/vue/index.mjs +1 -0
  1282. package/.output/server/node_modules/vue/package.json +112 -0
  1283. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  1284. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +278 -0
  1285. package/.output/server/node_modules/vue-bundle-renderer/package.json +54 -0
  1286. package/.output/server/node_modules/vue-router/dist/devtools-EWN81iOl.mjs +1220 -0
  1287. package/.output/server/node_modules/vue-router/dist/vue-router.mjs +1557 -0
  1288. package/.output/server/node_modules/vue-router/package.json +153 -0
  1289. package/.output/server/node_modules/vue-router/vue-router.node.mjs +2 -0
  1290. package/.output/server/node_modules/zod/index.js +4 -0
  1291. package/.output/server/node_modules/zod/package.json +118 -0
  1292. package/.output/server/node_modules/zod/v3/ZodError.js +133 -0
  1293. package/.output/server/node_modules/zod/v3/errors.js +9 -0
  1294. package/.output/server/node_modules/zod/v3/external.js +6 -0
  1295. package/.output/server/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  1296. package/.output/server/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  1297. package/.output/server/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  1298. package/.output/server/node_modules/zod/v3/helpers/util.js +133 -0
  1299. package/.output/server/node_modules/zod/v3/index.js +4 -0
  1300. package/.output/server/node_modules/zod/v3/locales/en.js +109 -0
  1301. package/.output/server/node_modules/zod/v3/types.js +3693 -0
  1302. package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
  1303. package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
  1304. package/.output/server/node_modules/zod/v4/classic/compat.js +27 -0
  1305. package/.output/server/node_modules/zod/v4/classic/errors.js +41 -0
  1306. package/.output/server/node_modules/zod/v4/classic/external.js +18 -0
  1307. package/.output/server/node_modules/zod/v4/classic/index.js +4 -0
  1308. package/.output/server/node_modules/zod/v4/classic/iso.js +30 -0
  1309. package/.output/server/node_modules/zod/v4/classic/parse.js +6 -0
  1310. package/.output/server/node_modules/zod/v4/classic/schemas.js +1006 -0
  1311. package/.output/server/node_modules/zod/v4/core/api.js +906 -0
  1312. package/.output/server/node_modules/zod/v4/core/checks.js +565 -0
  1313. package/.output/server/node_modules/zod/v4/core/core.js +61 -0
  1314. package/.output/server/node_modules/zod/v4/core/doc.js +35 -0
  1315. package/.output/server/node_modules/zod/v4/core/errors.js +195 -0
  1316. package/.output/server/node_modules/zod/v4/core/function.js +75 -0
  1317. package/.output/server/node_modules/zod/v4/core/index.js +15 -0
  1318. package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
  1319. package/.output/server/node_modules/zod/v4/core/parse.js +57 -0
  1320. package/.output/server/node_modules/zod/v4/core/regexes.js +95 -0
  1321. package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
  1322. package/.output/server/node_modules/zod/v4/core/schemas.js +1717 -0
  1323. package/.output/server/node_modules/zod/v4/core/to-json-schema.js +849 -0
  1324. package/.output/server/node_modules/zod/v4/core/util.js +493 -0
  1325. package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
  1326. package/.output/server/node_modules/zod/v4/index.js +3 -0
  1327. package/.output/server/node_modules/zod/v4/locales/ar.js +116 -0
  1328. package/.output/server/node_modules/zod/v4/locales/az.js +115 -0
  1329. package/.output/server/node_modules/zod/v4/locales/be.js +164 -0
  1330. package/.output/server/node_modules/zod/v4/locales/ca.js +118 -0
  1331. package/.output/server/node_modules/zod/v4/locales/cs.js +135 -0
  1332. package/.output/server/node_modules/zod/v4/locales/de.js +116 -0
  1333. package/.output/server/node_modules/zod/v4/locales/en.js +117 -0
  1334. package/.output/server/node_modules/zod/v4/locales/eo.js +116 -0
  1335. package/.output/server/node_modules/zod/v4/locales/es.js +117 -0
  1336. package/.output/server/node_modules/zod/v4/locales/fa.js +122 -0
  1337. package/.output/server/node_modules/zod/v4/locales/fi.js +122 -0
  1338. package/.output/server/node_modules/zod/v4/locales/fr-CA.js +117 -0
  1339. package/.output/server/node_modules/zod/v4/locales/fr.js +116 -0
  1340. package/.output/server/node_modules/zod/v4/locales/he.js +117 -0
  1341. package/.output/server/node_modules/zod/v4/locales/hu.js +117 -0
  1342. package/.output/server/node_modules/zod/v4/locales/id.js +116 -0
  1343. package/.output/server/node_modules/zod/v4/locales/index.js +39 -0
  1344. package/.output/server/node_modules/zod/v4/locales/it.js +117 -0
  1345. package/.output/server/node_modules/zod/v4/locales/ja.js +115 -0
  1346. package/.output/server/node_modules/zod/v4/locales/kh.js +117 -0
  1347. package/.output/server/node_modules/zod/v4/locales/ko.js +121 -0
  1348. package/.output/server/node_modules/zod/v4/locales/mk.js +118 -0
  1349. package/.output/server/node_modules/zod/v4/locales/ms.js +116 -0
  1350. package/.output/server/node_modules/zod/v4/locales/nl.js +117 -0
  1351. package/.output/server/node_modules/zod/v4/locales/no.js +116 -0
  1352. package/.output/server/node_modules/zod/v4/locales/ota.js +117 -0
  1353. package/.output/server/node_modules/zod/v4/locales/pl.js +117 -0
  1354. package/.output/server/node_modules/zod/v4/locales/ps.js +122 -0
  1355. package/.output/server/node_modules/zod/v4/locales/pt.js +116 -0
  1356. package/.output/server/node_modules/zod/v4/locales/ru.js +164 -0
  1357. package/.output/server/node_modules/zod/v4/locales/sl.js +117 -0
  1358. package/.output/server/node_modules/zod/v4/locales/sv.js +118 -0
  1359. package/.output/server/node_modules/zod/v4/locales/ta.js +117 -0
  1360. package/.output/server/node_modules/zod/v4/locales/th.js +117 -0
  1361. package/.output/server/node_modules/zod/v4/locales/tr.js +115 -0
  1362. package/.output/server/node_modules/zod/v4/locales/ua.js +117 -0
  1363. package/.output/server/node_modules/zod/v4/locales/ur.js +117 -0
  1364. package/.output/server/node_modules/zod/v4/locales/vi.js +116 -0
  1365. package/.output/server/node_modules/zod/v4/locales/zh-CN.js +116 -0
  1366. package/.output/server/node_modules/zod/v4/locales/zh-TW.js +117 -0
  1367. package/.output/server/node_modules/zod/v4/mini/checks.js +1 -0
  1368. package/.output/server/node_modules/zod/v4/mini/coerce.js +17 -0
  1369. package/.output/server/node_modules/zod/v4/mini/external.js +13 -0
  1370. package/.output/server/node_modules/zod/v4/mini/index.js +3 -0
  1371. package/.output/server/node_modules/zod/v4/mini/iso.js +30 -0
  1372. package/.output/server/node_modules/zod/v4/mini/parse.js +1 -0
  1373. package/.output/server/node_modules/zod/v4/mini/schemas.js +732 -0
  1374. package/.output/server/node_modules/zod/v4-mini/index.js +1 -0
  1375. package/.output/server/node_modules/zod-to-json-schema/dist/esm/Options.js +46 -0
  1376. package/.output/server/node_modules/zod-to-json-schema/dist/esm/Refs.js +22 -0
  1377. package/.output/server/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +14 -0
  1378. package/.output/server/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +8 -0
  1379. package/.output/server/node_modules/zod-to-json-schema/dist/esm/index.js +40 -0
  1380. package/.output/server/node_modules/zod-to-json-schema/dist/esm/package.json +1 -0
  1381. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parseDef.js +62 -0
  1382. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parseTypes.js +1 -0
  1383. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +17 -0
  1384. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +26 -0
  1385. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +49 -0
  1386. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +5 -0
  1387. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +4 -0
  1388. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +4 -0
  1389. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +46 -0
  1390. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +7 -0
  1391. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +7 -0
  1392. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +6 -0
  1393. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +52 -0
  1394. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +21 -0
  1395. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +26 -0
  1396. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +16 -0
  1397. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +11 -0
  1398. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +10 -0
  1399. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +33 -0
  1400. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +52 -0
  1401. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +72 -0
  1402. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +21 -0
  1403. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +20 -0
  1404. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +4 -0
  1405. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +4 -0
  1406. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +61 -0
  1407. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +20 -0
  1408. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +352 -0
  1409. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +32 -0
  1410. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +6 -0
  1411. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +80 -0
  1412. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +4 -0
  1413. package/.output/server/node_modules/zod-to-json-schema/dist/esm/selectParser.js +105 -0
  1414. package/.output/server/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +87 -0
  1415. package/.output/server/node_modules/zod-to-json-schema/package.json +85 -0
  1416. package/.output/server/package.json +93 -0
  1417. package/package.json +2 -1
@@ -0,0 +1,209 @@
1
+ import{t as e}from"./BBrRELH32.js";import{n as t,t as n}from"./CWKEp1wx2.js";import{$ as r,A as i,B as a,C as o,Ct as s,D as c,E as l,F as u,G as d,H as f,I as p,J as m,K as h,L as g,M as _,N as v,O as y,P as b,Q as x,R as S,S as ee,St as C,T as w,U as te,V as ne,W as T,X as re,Y as E,Z as ie,_ as ae,_t as oe,a as D,at as se,b as ce,bt as O,ct as k,d as A,dt as le,et as ue,f as de,ft as j,g as fe,gt as pe,h as me,ht as M,i as N,it as P,j as he,k as F,l as ge,lt as I,m as L,mt as _e,n as R,nt as ve,o as ye,ot as be,p as xe,pt as Se,q as z,r as B,rt as Ce,s as we,st as Te,t as Ee,tt as De,u as V,v as Oe,vt as ke,w as H,x as Ae,xt as U,y as je,yt as W,z as Me}from"./BFjGV-RV2.js";var G=new be,K=new C,q=new C,J=new P,Ne={X:new C(1,0,0),Y:new C(0,1,0),Z:new C(0,0,1)},Pe={type:`change`},Fe={type:`mouseDown`,mode:null},Ie={type:`mouseUp`,mode:null},Le={type:`objectChange`},Re=class extends he{constructor(e,t=null){super(void 0,t);let n=new nt(this);this._root=n;let r=new rt;this._gizmo=r,n.add(r);let i=new it;this._plane=i,n.add(i);let a=this;function o(e,t){let n=t;Object.defineProperty(a,e,{get:function(){return n===void 0?t:n},set:function(t){n!==t&&(n=t,i[e]=t,r[e]=t,a.dispatchEvent({type:e+`-changed`,value:t}),a.dispatchEvent(Pe))}}),a[e]=t,i[e]=t,r[e]=t}o(`camera`,e),o(`object`,void 0),o(`enabled`,!0),o(`axis`,null),o(`mode`,`translate`),o(`translationSnap`,null),o(`rotationSnap`,null),o(`scaleSnap`,null),o(`space`,`world`),o(`size`,1),this.viewport=null,o(`dragging`,!1),o(`showX`,!0),o(`showY`,!0),o(`showZ`,!0),o(`showXY`,!0),o(`showYZ`,!0),o(`showXZ`,!0),o(`showXYZE`,!0),o(`showE`,!0),o(`minX`,-1/0),o(`maxX`,1/0),o(`minY`,-1/0),o(`maxY`,1/0),o(`minZ`,-1/0),o(`maxZ`,1/0);let s=new C,c=new C,l=new P,u=new P,d=new C,f=new P,p=new C,m=new C,h=new C,g=new C;o(`worldPosition`,s),o(`worldPositionStart`,c),o(`worldQuaternion`,l),o(`worldQuaternionStart`,u),o(`cameraPosition`,d),o(`cameraQuaternion`,f),o(`pointStart`,p),o(`pointEnd`,m),o(`rotationAxis`,h),o(`rotationAngle`,0),o(`eye`,g),this._offset=new C,this._startNorm=new C,this._endNorm=new C,this._cameraScale=new C,this._parentPosition=new C,this._parentQuaternion=new P,this._parentQuaternionInv=new P,this._parentScale=new C,this._worldScaleStart=new C,this._worldQuaternionInv=new P,this._worldScale=new C,this._positionStart=new C,this._quaternionStart=new P,this._scaleStart=new C,this._getPointer=ze.bind(this),this._onPointerDown=Ve.bind(this),this._onPointerHover=Be.bind(this),this._onPointerMove=He.bind(this),this._onPointerUp=Ue.bind(this),t!==null&&this.connect(t)}connect(e){super.connect(e),this.domElement.addEventListener(`pointerdown`,this._onPointerDown),this.domElement.addEventListener(`pointermove`,this._onPointerHover),this.domElement.addEventListener(`pointerup`,this._onPointerUp),this.domElement.style.touchAction=`none`}disconnect(){this.domElement.removeEventListener(`pointerdown`,this._onPointerDown),this.domElement.removeEventListener(`pointermove`,this._onPointerHover),this.domElement.removeEventListener(`pointermove`,this._onPointerMove),this.domElement.removeEventListener(`pointerup`,this._onPointerUp),this.domElement.style.touchAction=``}getHelper(){return this._root}pointerHover(e){if(this.object===void 0||this.dragging===!0)return;e!==null&&G.setFromCamera(e,this.camera);let t=We(this._gizmo.picker[this.mode],G);this.axis=t?t.object.name:null}pointerDown(e){if(!(this.object===void 0||this.dragging===!0||e!=null&&e.button!==0)&&this.axis!==null){e!==null&&G.setFromCamera(e,this.camera);let t=We(this._plane,G,!0);t&&(this.object.updateMatrixWorld(),this.object.parent.updateMatrixWorld(),this._positionStart.copy(this.object.position),this._quaternionStart.copy(this.object.quaternion),this._scaleStart.copy(this.object.scale),this.object.matrixWorld.decompose(this.worldPositionStart,this.worldQuaternionStart,this._worldScaleStart),this.pointStart.copy(t.point).sub(this.worldPositionStart)),this.dragging=!0,Fe.mode=this.mode,this.dispatchEvent(Fe)}}pointerMove(e){let t=this.axis,n=this.mode,r=this.object,i=this.space;if(n===`scale`?i=`local`:(t===`E`||t===`XYZE`||t===`XYZ`)&&(i=`world`),r===void 0||t===null||this.dragging===!1||e!==null&&e.button!==-1)return;e!==null&&G.setFromCamera(e,this.camera);let a=We(this._plane,G,!0);if(a){if(this.pointEnd.copy(a.point).sub(this.worldPositionStart),n===`translate`)this._offset.copy(this.pointEnd).sub(this.pointStart),i===`local`&&t!==`XYZ`&&this._offset.applyQuaternion(this._worldQuaternionInv),t.indexOf(`X`)===-1&&(this._offset.x=0),t.indexOf(`Y`)===-1&&(this._offset.y=0),t.indexOf(`Z`)===-1&&(this._offset.z=0),i===`local`&&t!==`XYZ`?this._offset.applyQuaternion(this._quaternionStart).divide(this._parentScale):this._offset.applyQuaternion(this._parentQuaternionInv).divide(this._parentScale),r.position.copy(this._offset).add(this._positionStart),this.translationSnap&&(i===`local`&&(r.position.applyQuaternion(J.copy(this._quaternionStart).invert()),t.search(`X`)!==-1&&(r.position.x=Math.round(r.position.x/this.translationSnap)*this.translationSnap),t.search(`Y`)!==-1&&(r.position.y=Math.round(r.position.y/this.translationSnap)*this.translationSnap),t.search(`Z`)!==-1&&(r.position.z=Math.round(r.position.z/this.translationSnap)*this.translationSnap),r.position.applyQuaternion(this._quaternionStart)),i===`world`&&(r.getWorldPosition(K),t.search(`X`)!==-1&&(K.x=Math.round(K.x/this.translationSnap)*this.translationSnap),t.search(`Y`)!==-1&&(K.y=Math.round(K.y/this.translationSnap)*this.translationSnap),t.search(`Z`)!==-1&&(K.z=Math.round(K.z/this.translationSnap)*this.translationSnap),r.position.copy(r.parent.worldToLocal(K)))),r.position.x=Math.max(this.minX,Math.min(this.maxX,r.position.x)),r.position.y=Math.max(this.minY,Math.min(this.maxY,r.position.y)),r.position.z=Math.max(this.minZ,Math.min(this.maxZ,r.position.z));else if(n===`scale`){if(t.search(`XYZ`)!==-1){let e=this.pointEnd.length()/this.pointStart.length();this.pointEnd.dot(this.pointStart)<0&&(e*=-1),q.set(e,e,e)}else K.copy(this.pointStart),q.copy(this.pointEnd),K.applyQuaternion(this._worldQuaternionInv),q.applyQuaternion(this._worldQuaternionInv),q.divide(K),t.search(`X`)===-1&&(q.x=1),t.search(`Y`)===-1&&(q.y=1),t.search(`Z`)===-1&&(q.z=1);r.scale.copy(this._scaleStart).multiply(q),this.scaleSnap&&(t.search(`X`)!==-1&&(r.scale.x=Math.round(r.scale.x/this.scaleSnap)*this.scaleSnap||this.scaleSnap),t.search(`Y`)!==-1&&(r.scale.y=Math.round(r.scale.y/this.scaleSnap)*this.scaleSnap||this.scaleSnap),t.search(`Z`)!==-1&&(r.scale.z=Math.round(r.scale.z/this.scaleSnap)*this.scaleSnap||this.scaleSnap))}else if(n===`rotate`){this._offset.copy(this.pointEnd).sub(this.pointStart);let e=20/this.worldPosition.distanceTo(K.setFromMatrixPosition(this.camera.matrixWorld)),n=!1;t===`XYZE`?(this.rotationAxis.copy(this._offset).cross(this.eye).normalize(),this.rotationAngle=this._offset.dot(K.copy(this.rotationAxis).cross(this.eye))*e):(t===`X`||t===`Y`||t===`Z`)&&(this.rotationAxis.copy(Ne[t]),K.copy(Ne[t]),i===`local`&&K.applyQuaternion(this.worldQuaternion),K.cross(this.eye),K.length()===0?n=!0:this.rotationAngle=this._offset.dot(K.normalize())*e),(t===`E`||n)&&(this.rotationAxis.copy(this.eye),this.rotationAngle=this.pointEnd.angleTo(this.pointStart),this._startNorm.copy(this.pointStart).normalize(),this._endNorm.copy(this.pointEnd).normalize(),this.rotationAngle*=this._endNorm.cross(this._startNorm).dot(this.eye)<0?1:-1),this.rotationSnap&&(this.rotationAngle=Math.round(this.rotationAngle/this.rotationSnap)*this.rotationSnap),i===`local`&&t!==`E`&&t!==`XYZE`?(r.quaternion.copy(this._quaternionStart),r.quaternion.multiply(J.setFromAxisAngle(this.rotationAxis,this.rotationAngle)).normalize()):(this.rotationAxis.applyQuaternion(this._parentQuaternionInv),r.quaternion.copy(J.setFromAxisAngle(this.rotationAxis,this.rotationAngle)),r.quaternion.multiply(this._quaternionStart).normalize())}this.dispatchEvent(Pe),this.dispatchEvent(Le)}}pointerUp(e){(e===null||e.button===0)&&(this.dragging&&this.axis!==null&&(Ie.mode=this.mode,this.dispatchEvent(Ie)),this.dragging=!1,this.axis=null)}dispose(){this.disconnect(),this._root.dispose()}attach(e){return this.object=e,this._root.visible=!0,this}detach(){return this.object=void 0,this.axis=null,this._root.visible=!1,this}reset(){this.enabled&&this.dragging&&(this.object.position.copy(this._positionStart),this.object.quaternion.copy(this._quaternionStart),this.object.scale.copy(this._scaleStart),this.dispatchEvent(Pe),this.dispatchEvent(Le),this.pointStart.copy(this.pointEnd))}getRaycaster(){return G}getMode(){return this.mode}setMode(e){this.mode=e}setTranslationSnap(e){this.translationSnap=e}setRotationSnap(e){this.rotationSnap=e}setScaleSnap(e){this.scaleSnap=e}setSize(e){this.size=e}setSpace(e){this.space=e}setColors(e,t,n,r){let i=this._gizmo.materialLib;i.xAxis.color.set(e),i.yAxis.color.set(t),i.zAxis.color.set(n),i.active.color.set(r),i.xAxisTransparent.color.set(e),i.yAxisTransparent.color.set(t),i.zAxisTransparent.color.set(n),i.activeTransparent.color.set(r),i.xAxis._color&&i.xAxis._color.set(e),i.yAxis._color&&i.yAxis._color.set(t),i.zAxis._color&&i.zAxis._color.set(n),i.active._color&&i.active._color.set(r),i.xAxisTransparent._color&&i.xAxisTransparent._color.set(e),i.yAxisTransparent._color&&i.yAxisTransparent._color.set(t),i.zAxisTransparent._color&&i.zAxisTransparent._color.set(n),i.activeTransparent._color&&i.activeTransparent._color.set(r)}};function ze(e){if(this.domElement.ownerDocument.pointerLockElement)return{x:0,y:0,button:e.button};{let t=this.domElement.getBoundingClientRect(),n=this.viewport,r,i,a,o;return n===null?(r=0,i=0,a=t.width,o=t.height):(r=n.x,i=t.height-n.y-n.w,a=n.z,o=n.w),{x:(e.clientX-t.left-r)/a*2-1,y:-(e.clientY-t.top-i)/o*2+1,button:e.button}}}function Be(e){if(this.enabled)switch(e.pointerType){case`mouse`:case`pen`:this.pointerHover(this._getPointer(e))}}function Ve(e){this.enabled&&(document.pointerLockElement||this.domElement.setPointerCapture(e.pointerId),this.domElement.addEventListener(`pointermove`,this._onPointerMove),this.pointerHover(this._getPointer(e)),this.pointerDown(this._getPointer(e)))}function He(e){this.enabled&&this.pointerMove(this._getPointer(e))}function Ue(e){this.enabled&&(this.domElement.releasePointerCapture(e.pointerId),this.domElement.removeEventListener(`pointermove`,this._onPointerMove),this.pointerUp(this._getPointer(e)))}function We(e,t,n){let r=t.intersectObject(e,!0);for(let e=0;e<r.length;e++)if(r[e].object.visible||n)return r[e];return!1}var Ge=new b,Y=new C(0,1,0),Ke=new C(0,0,0),qe=new d,Je=new P,Ye=new P,X=new C,Xe=new d,Ze=new C(1,0,0),Z=new C(0,1,0),Qe=new C(0,0,1),$e=new C,et=new C,tt=new C,nt=class extends re{constructor(e){super(),this.isTransformControlsRoot=!0,this.controls=e,this.visible=!1}updateMatrixWorld(e){let t=this.controls;t.object!==void 0&&(t.object.updateMatrixWorld(),t.object.parent===null?console.error(`TransformControls: The attached 3D object must be a part of the scene graph.`):t.object.parent.matrixWorld.decompose(t._parentPosition,t._parentQuaternion,t._parentScale),t.object.matrixWorld.decompose(t.worldPosition,t.worldQuaternion,t._worldScale),t._parentQuaternionInv.copy(t._parentQuaternion).invert(),t._worldQuaternionInv.copy(t.worldQuaternion).invert()),t.camera.updateMatrixWorld(),t.camera.matrixWorld.decompose(t.cameraPosition,t.cameraQuaternion,t._cameraScale),t.camera.isOrthographicCamera?t.camera.getWorldDirection(t.eye).negate():t.eye.copy(t.cameraPosition).sub(t.worldPosition).normalize(),this.parent&&(Xe.copy(this.parent.matrixWorld).invert(),Xe.decompose(this.position,this.quaternion,this.scale)),super.updateMatrixWorld(e)}dispose(){this.traverse(function(e){e.geometry&&e.geometry.dispose(),e.material&&e.material.dispose()})}},rt=class extends re{constructor(){super(),this.isTransformControlsGizmo=!0,this.type=`TransformControlsGizmo`;let e=new z({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),t=new ne({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),n=e.clone();n.opacity=.15;let r=t.clone();r.opacity=.5;let i=e.clone();i.color.setHex(16711680);let o=e.clone();o.color.setHex(65280);let s=e.clone();s.color.setHex(255);let c=e.clone();c.color.setHex(16711680),c.opacity=.5;let l=e.clone();l.color.setHex(65280),l.opacity=.5;let d=e.clone();d.color.setHex(255),d.opacity=.5;let f=e.clone();f.opacity=.25;let p=e.clone();p.color.setHex(16776960),p.opacity=.25;let m=e.clone();m.color.setHex(16776960);let g=e.clone();g.color.setHex(7895160),this.materialLib={xAxis:i,yAxis:o,zAxis:s,active:m,xAxisTransparent:c,yAxisTransparent:l,zAxisTransparent:d,activeTransparent:p};let v=new _(0,.04,.1,12);v.translate(0,.05,0);let y=new H(.08,.08,.08);y.translate(0,.04,0);let b=new w;b.setAttribute(`position`,new u([0,0,0,1,0,0],3));let x=new _(.0075,.0075,.5,3);x.translate(0,.25,0);function S(e,t){let n=new W(e,.0075,3,64,t*Math.PI*2);return n.rotateY(Math.PI/2),n.rotateX(Math.PI/2),n}function ee(){let e=new w;return e.setAttribute(`position`,new u([0,0,0,1,1,1],3)),e}let C={X:[[new h(v,i),[.5,0,0],[0,0,-Math.PI/2]],[new h(v,i),[-.5,0,0],[0,0,Math.PI/2]],[new h(x,i),[0,0,0],[0,0,-Math.PI/2]]],Y:[[new h(v,o),[0,.5,0]],[new h(v,o),[0,-.5,0],[Math.PI,0,0]],[new h(x,o)]],Z:[[new h(v,s),[0,0,.5],[Math.PI/2,0,0]],[new h(v,s),[0,0,-.5],[-Math.PI/2,0,0]],[new h(x,s),null,[Math.PI/2,0,0]]],XYZ:[[new h(new ie(.1,0),f),[0,0,0]]],XY:[[new h(new H(.15,.15,.01),d),[.15,.15,0]]],YZ:[[new h(new H(.15,.15,.01),c),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new h(new H(.15,.15,.01),l),[.15,0,.15],[-Math.PI/2,0,0]]]},te={X:[[new h(new _(.2,0,.6,4),n),[.3,0,0],[0,0,-Math.PI/2]],[new h(new _(.2,0,.6,4),n),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new h(new _(.2,0,.6,4),n),[0,.3,0]],[new h(new _(.2,0,.6,4),n),[0,-.3,0],[0,0,Math.PI]]],Z:[[new h(new _(.2,0,.6,4),n),[0,0,.3],[Math.PI/2,0,0]],[new h(new _(.2,0,.6,4),n),[0,0,-.3],[-Math.PI/2,0,0]]],XYZ:[[new h(new ie(.2,0),n)]],XY:[[new h(new H(.2,.2,.01),n),[.15,.15,0]]],YZ:[[new h(new H(.2,.2,.01),n),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new h(new H(.2,.2,.01),n),[.15,0,.15],[-Math.PI/2,0,0]]]},T={START:[[new h(new ie(.01,2),r),null,null,null,`helper`]],END:[[new h(new ie(.01,2),r),null,null,null,`helper`]],DELTA:[[new a(ee(),r),null,null,null,`helper`]],X:[[new a(b,r),[-1e3,0,0],null,[1e6,1,1],`helper`]],Y:[[new a(b,r),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],`helper`]],Z:[[new a(b,r),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],`helper`]]},E={XYZE:[[new h(S(.5,1),g),null,[0,Math.PI/2,0]]],X:[[new h(S(.5,.5),i)]],Y:[[new h(S(.5,.5),o),null,[0,0,-Math.PI/2]]],Z:[[new h(S(.5,.5),s),null,[0,Math.PI/2,0]]],E:[[new h(S(.75,1),p),null,[0,Math.PI/2,0]]]},ae={AXIS:[[new a(b,r),[-1e3,0,0],null,[1e6,1,1],`helper`]]},oe={XYZE:[[new h(new M(.25,10,8),n)]],X:[[new h(new W(.5,.1,4,24),n),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new h(new W(.5,.1,4,24),n),[0,0,0],[Math.PI/2,0,0]]],Z:[[new h(new W(.5,.1,4,24),n),[0,0,0],[0,0,-Math.PI/2]]],E:[[new h(new W(.75,.1,2,24),n)]]},D={X:[[new h(y,i),[.5,0,0],[0,0,-Math.PI/2]],[new h(x,i),[0,0,0],[0,0,-Math.PI/2]],[new h(y,i),[-.5,0,0],[0,0,Math.PI/2]]],Y:[[new h(y,o),[0,.5,0]],[new h(x,o)],[new h(y,o),[0,-.5,0],[0,0,Math.PI]]],Z:[[new h(y,s),[0,0,.5],[Math.PI/2,0,0]],[new h(x,s),[0,0,0],[Math.PI/2,0,0]],[new h(y,s),[0,0,-.5],[-Math.PI/2,0,0]]],XY:[[new h(new H(.15,.15,.01),d),[.15,.15,0]]],YZ:[[new h(new H(.15,.15,.01),c),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new h(new H(.15,.15,.01),l),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new h(new H(.1,.1,.1),f)]]},se={X:[[new h(new _(.2,0,.6,4),n),[.3,0,0],[0,0,-Math.PI/2]],[new h(new _(.2,0,.6,4),n),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new h(new _(.2,0,.6,4),n),[0,.3,0]],[new h(new _(.2,0,.6,4),n),[0,-.3,0],[0,0,Math.PI]]],Z:[[new h(new _(.2,0,.6,4),n),[0,0,.3],[Math.PI/2,0,0]],[new h(new _(.2,0,.6,4),n),[0,0,-.3],[-Math.PI/2,0,0]]],XY:[[new h(new H(.2,.2,.01),n),[.15,.15,0]]],YZ:[[new h(new H(.2,.2,.01),n),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new h(new H(.2,.2,.01),n),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new h(new H(.2,.2,.2),n),[0,0,0]]]},ce={X:[[new a(b,r),[-1e3,0,0],null,[1e6,1,1],`helper`]],Y:[[new a(b,r),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],`helper`]],Z:[[new a(b,r),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],`helper`]]};function O(e){let t=new re;for(let n in e)for(let r=e[n].length;r--;){let i=e[n][r][0].clone(),a=e[n][r][1],o=e[n][r][2],s=e[n][r][3],c=e[n][r][4];i.name=n,i.tag=c,a&&i.position.set(a[0],a[1],a[2]),o&&i.rotation.set(o[0],o[1],o[2]),s&&i.scale.set(s[0],s[1],s[2]),i.updateMatrix();let l=i.geometry.clone();l.applyMatrix4(i.matrix),i.geometry=l,i.renderOrder=1/0,i.position.set(0,0,0),i.rotation.set(0,0,0),i.scale.set(1,1,1),t.add(i)}return t}this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=O(C)),this.add(this.gizmo.rotate=O(E)),this.add(this.gizmo.scale=O(D)),this.add(this.picker.translate=O(te)),this.add(this.picker.rotate=O(oe)),this.add(this.picker.scale=O(se)),this.add(this.helper.translate=O(T)),this.add(this.helper.rotate=O(ae)),this.add(this.helper.scale=O(ce)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1}updateMatrixWorld(e){let t=(this.mode===`scale`?`local`:this.space)===`local`?this.worldQuaternion:Ye;this.gizmo.translate.visible=this.mode===`translate`,this.gizmo.rotate.visible=this.mode===`rotate`,this.gizmo.scale.visible=this.mode===`scale`,this.helper.translate.visible=this.mode===`translate`,this.helper.rotate.visible=this.mode===`rotate`,this.helper.scale.visible=this.mode===`scale`;let n=[];n=n.concat(this.picker[this.mode].children),n=n.concat(this.gizmo[this.mode].children),n=n.concat(this.helper[this.mode].children);for(let e=0;e<n.length;e++){let r=n[e];r.visible=!0,r.rotation.set(0,0,0),r.position.copy(this.worldPosition);let i;if(i=this.camera.isOrthographicCamera?(this.camera.top-this.camera.bottom)/this.camera.zoom:this.worldPosition.distanceTo(this.cameraPosition)*Math.min(1.9*Math.tan(Math.PI*this.camera.fov/360)/this.camera.zoom,7),r.scale.set(1,1,1).multiplyScalar(i*this.size/4),r.tag===`helper`){r.visible=!1,r.name===`AXIS`?(r.visible=!!this.axis,this.axis===`X`&&(J.setFromEuler(Ge.set(0,0,0)),r.quaternion.copy(t).multiply(J),Math.abs(Y.copy(Ze).applyQuaternion(t).dot(this.eye))>.9&&(r.visible=!1)),this.axis===`Y`&&(J.setFromEuler(Ge.set(0,0,Math.PI/2)),r.quaternion.copy(t).multiply(J),Math.abs(Y.copy(Z).applyQuaternion(t).dot(this.eye))>.9&&(r.visible=!1)),this.axis===`Z`&&(J.setFromEuler(Ge.set(0,Math.PI/2,0)),r.quaternion.copy(t).multiply(J),Math.abs(Y.copy(Qe).applyQuaternion(t).dot(this.eye))>.9&&(r.visible=!1)),this.axis===`XYZE`&&(J.setFromEuler(Ge.set(0,Math.PI/2,0)),Y.copy(this.rotationAxis),r.quaternion.setFromRotationMatrix(qe.lookAt(Ke,Y,Z)),r.quaternion.multiply(J),r.visible=this.dragging),this.axis===`E`&&(r.visible=!1)):r.name===`START`?(r.position.copy(this.worldPositionStart),r.visible=this.dragging):r.name===`END`?(r.position.copy(this.worldPosition),r.visible=this.dragging):r.name===`DELTA`?(r.position.copy(this.worldPositionStart),r.quaternion.copy(this.worldQuaternionStart),K.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),K.applyQuaternion(this.worldQuaternionStart.clone().invert()),r.scale.copy(K),r.visible=this.dragging):(r.quaternion.copy(t),this.dragging?r.position.copy(this.worldPositionStart):r.position.copy(this.worldPosition),this.axis&&(r.visible=this.axis.search(r.name)!==-1));continue}if(r.quaternion.copy(t),this.mode===`translate`||this.mode===`scale`){let e=.99,n=.2;r.name===`X`&&Math.abs(Y.copy(Ze).applyQuaternion(t).dot(this.eye))>e&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`Y`&&Math.abs(Y.copy(Z).applyQuaternion(t).dot(this.eye))>e&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`Z`&&Math.abs(Y.copy(Qe).applyQuaternion(t).dot(this.eye))>e&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`XY`&&Math.abs(Y.copy(Qe).applyQuaternion(t).dot(this.eye))<n&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`YZ`&&Math.abs(Y.copy(Ze).applyQuaternion(t).dot(this.eye))<n&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1),r.name===`XZ`&&Math.abs(Y.copy(Z).applyQuaternion(t).dot(this.eye))<n&&(r.scale.set(1e-10,1e-10,1e-10),r.visible=!1)}else this.mode===`rotate`&&(Je.copy(t),Y.copy(this.eye).applyQuaternion(J.copy(t).invert()),r.name.search(`E`)!==-1&&r.quaternion.setFromRotationMatrix(qe.lookAt(this.eye,Ke,Z)),r.name===`X`&&(J.setFromAxisAngle(Ze,Math.atan2(-Y.y,Y.z)),J.multiplyQuaternions(Je,J),r.quaternion.copy(J)),r.name===`Y`&&(J.setFromAxisAngle(Z,Math.atan2(Y.x,Y.z)),J.multiplyQuaternions(Je,J),r.quaternion.copy(J)),r.name===`Z`&&(J.setFromAxisAngle(Qe,Math.atan2(Y.y,Y.x)),J.multiplyQuaternions(Je,J),r.quaternion.copy(J)));r.visible=r.visible&&(r.name.indexOf(`X`)===-1||this.showX),r.visible=r.visible&&(r.name.indexOf(`Y`)===-1||this.showY),r.visible=r.visible&&(r.name.indexOf(`Z`)===-1||this.showZ),r.visible=r.visible&&(r.name.indexOf(`E`)===-1||this.showX&&this.showY&&this.showZ),r.visible=r.visible&&(r.name.indexOf(`XY`)===-1||this.showXY),r.visible=r.visible&&(r.name.indexOf(`YZ`)===-1||this.showYZ),r.visible=r.visible&&(r.name.indexOf(`XZ`)===-1||this.showXZ),r.visible=r.visible&&(r.name!==`E`||this.showE),r.visible=r.visible&&(r.name!==`XYZE`||this.showXYZE),r.material._color=r.material._color||r.material.color.clone(),r.material._opacity=r.material._opacity||r.material.opacity,r.material.color.copy(r.material._color),r.material.opacity=r.material._opacity,this.enabled&&this.axis&&(r.name===this.axis||this.axis.split(``).some(function(e){return r.name===e}))&&(r.material.color.copy(this.materialLib.active.color),r.material.opacity=1)}super.updateMatrixWorld(e)}},it=class extends h{constructor(){super(new ve(1e5,1e5,2,2),new z({visible:!1,wireframe:!0,side:2,transparent:!0,opacity:.1,toneMapped:!1})),this.isTransformControlsPlane=!0,this.type=`TransformControlsPlane`}updateMatrixWorld(e){let t=this.space;switch(this.position.copy(this.worldPosition),this.mode===`scale`&&(t=`local`),$e.copy(Ze).applyQuaternion(t===`local`?this.worldQuaternion:Ye),et.copy(Z).applyQuaternion(t===`local`?this.worldQuaternion:Ye),tt.copy(Qe).applyQuaternion(t===`local`?this.worldQuaternion:Ye),Y.copy(et),this.mode){case`translate`:case`scale`:switch(this.axis){case`X`:Y.copy(this.eye).cross($e),X.copy($e).cross(Y);break;case`Y`:Y.copy(this.eye).cross(et),X.copy(et).cross(Y);break;case`Z`:Y.copy(this.eye).cross(tt),X.copy(tt).cross(Y);break;case`XY`:X.copy(tt);break;case`YZ`:X.copy($e);break;case`XZ`:Y.copy(tt),X.copy(et);break;case`XYZ`:case`E`:X.set(0,0,0)}break;default:X.set(0,0,0)}X.length()===0?this.quaternion.copy(this.cameraQuaternion):(Xe.lookAt(K.set(0,0,0),X,Y),this.quaternion.setFromRotationMatrix(Xe)),super.updateMatrixWorld(e)}},at={name:`CopyShader`,uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:`
2
+
3
+ varying vec2 vUv;
4
+
5
+ void main() {
6
+
7
+ vUv = uv;
8
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
9
+
10
+ }`,fragmentShader:`
11
+
12
+ uniform float opacity;
13
+
14
+ uniform sampler2D tDiffuse;
15
+
16
+ varying vec2 vUv;
17
+
18
+ void main() {
19
+
20
+ vec4 texel = texture2D( tDiffuse, vUv );
21
+ gl_FragColor = opacity * texel;
22
+
23
+
24
+ }`},Q=class{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error(`THREE.Pass: .render() must be implemented in derived pass.`)}dispose(){}},ot=new x(-1,1,1,-1,0,1),st=new class extends w{constructor(){super(),this.setAttribute(`position`,new u([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute(`uv`,new u([0,2,0,0,2,0],2))}},ct=class{constructor(e){this._mesh=new h(st,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,ot)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}},lt=class extends Q{constructor(e,t=`tDiffuse`){super(),this.textureID=t,this.uniforms=null,this.material=null,e instanceof j?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=O.clone(e.uniforms),this.material=new j({name:e.name===void 0?`unspecified`:e.name,defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this._fsQuad=new ct(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this._fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this._fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this._fsQuad.render(e))}dispose(){this.material.dispose(),this._fsQuad.dispose()}},ut=class extends Q{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){let r=e.getContext(),i=e.state;i.buffers.color.setMask(!1),i.buffers.depth.setMask(!1),i.buffers.color.setLocked(!0),i.buffers.depth.setLocked(!0);let a,o;this.inverse?(a=0,o=1):(a=1,o=0),i.buffers.stencil.setTest(!0),i.buffers.stencil.setOp(r.REPLACE,r.REPLACE,r.REPLACE),i.buffers.stencil.setFunc(r.ALWAYS,a,4294967295),i.buffers.stencil.setClear(o),i.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),i.buffers.color.setLocked(!1),i.buffers.depth.setLocked(!1),i.buffers.color.setMask(!0),i.buffers.depth.setMask(!0),i.buffers.stencil.setLocked(!1),i.buffers.stencil.setFunc(r.EQUAL,1,4294967295),i.buffers.stencil.setOp(r.KEEP,r.KEEP,r.KEEP),i.buffers.stencil.setLocked(!0)}},dt=class extends Q{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}},ft=class{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),t===void 0){let n=e.getSize(new U);this._width=n.width,this._height=n.height,t=new s(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:S}),t.texture.name=`EffectComposer.rt1`}else this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name=`EffectComposer.rt2`,this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new lt(at),this.copyPass.material.blending=0,this.timer=new ke}swapBuffers(){let e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){let t=this.passes.indexOf(e);t!==-1&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t<this.passes.length;t++)if(this.passes[t].enabled)return!1;return!0}render(e){this.timer.update(),e===void 0&&(e=this.timer.getDelta());let t=this.renderer.getRenderTarget(),n=!1;for(let t=0,r=this.passes.length;t<r;t++){let r=this.passes[t];if(r.enabled!==!1){if(r.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(t),r.render(this.renderer,this.writeBuffer,this.readBuffer,e,n),r.needsSwap){if(n){let t=this.renderer.getContext(),n=this.renderer.state.buffers.stencil;n.setFunc(t.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),n.setFunc(t.EQUAL,1,4294967295)}this.swapBuffers()}ut!==void 0&&(r instanceof ut?n=!0:r instanceof dt&&(n=!1))}}this.renderer.setRenderTarget(t)}reset(e){if(e===void 0){let t=this.renderer.getSize(new U);this._pixelRatio=this.renderer.getPixelRatio(),this._width=t.width,this._height=t.height,e=this.renderTarget1.clone(),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=e,this.renderTarget2=e.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}setSize(e,t){this._width=e,this._height=t;let n=this._width*this._pixelRatio,r=this._height*this._pixelRatio;this.renderTarget1.setSize(n,r),this.renderTarget2.setSize(n,r);for(let e=0;e<this.passes.length;e++)this.passes[e].setSize(n,r)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.copyPass.dispose()}},pt=class extends Q{constructor(e,t,n=null,r=null,i=null){super(),this.scene=e,this.camera=t,this.overrideMaterial=n,this.clearColor=r,this.clearAlpha=i,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this.isRenderPass=!0,this._oldClearColor=new F}render(e,t,n){let r=e.autoClear;e.autoClear=!1;let i,a;this.overrideMaterial!==null&&(a=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor!==null&&(e.getClearColor(this._oldClearColor),e.setClearColor(this.clearColor,e.getClearAlpha())),this.clearAlpha!==null&&(i=e.getClearAlpha(),e.setClearAlpha(this.clearAlpha)),this.clearDepth==1&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:n),this.clear===!0&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),this.clearColor!==null&&e.setClearColor(this._oldClearColor),this.clearAlpha!==null&&e.setClearAlpha(i),this.overrideMaterial!==null&&(this.scene.overrideMaterial=a),e.autoClear=r}},mt={name:`LuminosityHighPassShader`,uniforms:{tDiffuse:{value:null},luminosityThreshold:{value:1},smoothWidth:{value:1},defaultColor:{value:new F(0)},defaultOpacity:{value:0}},vertexShader:`
25
+
26
+ varying vec2 vUv;
27
+
28
+ void main() {
29
+
30
+ vUv = uv;
31
+
32
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
33
+
34
+ }`,fragmentShader:`
35
+
36
+ uniform sampler2D tDiffuse;
37
+ uniform vec3 defaultColor;
38
+ uniform float defaultOpacity;
39
+ uniform float luminosityThreshold;
40
+ uniform float smoothWidth;
41
+
42
+ varying vec2 vUv;
43
+
44
+ void main() {
45
+
46
+ vec4 texel = texture2D( tDiffuse, vUv );
47
+
48
+ float v = luminance( texel.xyz );
49
+
50
+ vec4 outputColor = vec4( defaultColor.rgb, defaultOpacity );
51
+
52
+ float alpha = smoothstep( luminosityThreshold, luminosityThreshold + smoothWidth, v );
53
+
54
+ gl_FragColor = mix( outputColor, texel, alpha );
55
+
56
+ }`},ht=class e extends Q{constructor(e,t=1,n,r){super(),this.strength=t,this.radius=n,this.threshold=r,this.resolution=e===void 0?new U(256,256):new U(e.x,e.y),this.clearColor=new F(0,0,0),this.needsSwap=!1,this.renderTargetsHorizontal=[],this.renderTargetsVertical=[],this.nMips=5;let i=Math.round(this.resolution.x/2),a=Math.round(this.resolution.y/2);this.renderTargetBright=new s(i,a,{type:S}),this.renderTargetBright.texture.name=`UnrealBloomPass.bright`,this.renderTargetBright.texture.generateMipmaps=!1;for(let e=0;e<this.nMips;e++){let t=new s(i,a,{type:S});t.texture.name=`UnrealBloomPass.h`+e,t.texture.generateMipmaps=!1,this.renderTargetsHorizontal.push(t);let n=new s(i,a,{type:S});n.texture.name=`UnrealBloomPass.v`+e,n.texture.generateMipmaps=!1,this.renderTargetsVertical.push(n),i=Math.round(i/2),a=Math.round(a/2)}let o=mt;this.highPassUniforms=O.clone(o.uniforms),this.highPassUniforms.luminosityThreshold.value=r,this.highPassUniforms.smoothWidth.value=.01,this.materialHighPassFilter=new j({uniforms:this.highPassUniforms,vertexShader:o.vertexShader,fragmentShader:o.fragmentShader}),this.separableBlurMaterials=[];let c=[6,10,14,18,22];i=Math.round(this.resolution.x/2),a=Math.round(this.resolution.y/2);for(let e=0;e<this.nMips;e++)this.separableBlurMaterials.push(this._getSeparableBlurMaterial(c[e])),this.separableBlurMaterials[e].uniforms.invSize.value=new U(1/i,1/a),i=Math.round(i/2),a=Math.round(a/2);this.compositeMaterial=this._getCompositeMaterial(this.nMips),this.compositeMaterial.uniforms.blurTexture1.value=this.renderTargetsVertical[0].texture,this.compositeMaterial.uniforms.blurTexture2.value=this.renderTargetsVertical[1].texture,this.compositeMaterial.uniforms.blurTexture3.value=this.renderTargetsVertical[2].texture,this.compositeMaterial.uniforms.blurTexture4.value=this.renderTargetsVertical[3].texture,this.compositeMaterial.uniforms.blurTexture5.value=this.renderTargetsVertical[4].texture,this.compositeMaterial.uniforms.bloomStrength.value=t,this.compositeMaterial.uniforms.bloomRadius.value=.1;let l=[1,.8,.6,.4,.2];this.compositeMaterial.uniforms.bloomFactors.value=l,this.bloomTintColors=[new C(1,1,1),new C(1,1,1),new C(1,1,1),new C(1,1,1),new C(1,1,1)],this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors,this.copyUniforms=O.clone(at.uniforms),this.blendMaterial=new j({uniforms:this.copyUniforms,vertexShader:at.vertexShader,fragmentShader:at.fragmentShader,premultipliedAlpha:!0,blending:2,depthTest:!1,depthWrite:!1,transparent:!0}),this._oldClearColor=new F,this._oldClearAlpha=1,this._basic=new z,this._fsQuad=new ct(null)}dispose(){for(let e=0;e<this.renderTargetsHorizontal.length;e++)this.renderTargetsHorizontal[e].dispose();for(let e=0;e<this.renderTargetsVertical.length;e++)this.renderTargetsVertical[e].dispose();this.renderTargetBright.dispose();for(let e=0;e<this.separableBlurMaterials.length;e++)this.separableBlurMaterials[e].dispose();this.compositeMaterial.dispose(),this.blendMaterial.dispose(),this._basic.dispose(),this._fsQuad.dispose()}setSize(e,t){let n=Math.round(e/2),r=Math.round(t/2);this.renderTargetBright.setSize(n,r);for(let e=0;e<this.nMips;e++)this.renderTargetsHorizontal[e].setSize(n,r),this.renderTargetsVertical[e].setSize(n,r),this.separableBlurMaterials[e].uniforms.invSize.value=new U(1/n,1/r),n=Math.round(n/2),r=Math.round(r/2)}render(t,n,r,i,a){t.getClearColor(this._oldClearColor),this._oldClearAlpha=t.getClearAlpha();let o=t.autoClear;t.autoClear=!1,t.setClearColor(this.clearColor,0),a&&t.state.buffers.stencil.setTest(!1),this.renderToScreen&&(this._fsQuad.material=this._basic,this._basic.map=r.texture,t.setRenderTarget(null),t.clear(),this._fsQuad.render(t)),this.highPassUniforms.tDiffuse.value=r.texture,this.highPassUniforms.luminosityThreshold.value=this.threshold,this._fsQuad.material=this.materialHighPassFilter,t.setRenderTarget(this.renderTargetBright),t.clear(),this._fsQuad.render(t);let s=this.renderTargetBright;for(let n=0;n<this.nMips;n++)this._fsQuad.material=this.separableBlurMaterials[n],this.separableBlurMaterials[n].uniforms.colorTexture.value=s.texture,this.separableBlurMaterials[n].uniforms.direction.value=e.BlurDirectionX,t.setRenderTarget(this.renderTargetsHorizontal[n]),t.clear(),this._fsQuad.render(t),this.separableBlurMaterials[n].uniforms.colorTexture.value=this.renderTargetsHorizontal[n].texture,this.separableBlurMaterials[n].uniforms.direction.value=e.BlurDirectionY,t.setRenderTarget(this.renderTargetsVertical[n]),t.clear(),this._fsQuad.render(t),s=this.renderTargetsVertical[n];this._fsQuad.material=this.compositeMaterial,this.compositeMaterial.uniforms.bloomStrength.value=this.strength,this.compositeMaterial.uniforms.bloomRadius.value=this.radius,this.compositeMaterial.uniforms.bloomTintColors.value=this.bloomTintColors,t.setRenderTarget(this.renderTargetsHorizontal[0]),t.clear(),this._fsQuad.render(t),this._fsQuad.material=this.blendMaterial,this.copyUniforms.tDiffuse.value=this.renderTargetsHorizontal[0].texture,a&&t.state.buffers.stencil.setTest(!0),this.renderToScreen?(t.setRenderTarget(null),this._fsQuad.render(t)):(t.setRenderTarget(r),this._fsQuad.render(t)),t.setClearColor(this._oldClearColor,this._oldClearAlpha),t.autoClear=o}_getSeparableBlurMaterial(e){let t=[],n=e/3;for(let r=0;r<e;r++)t.push(.39894*Math.exp(-.5*r*r/(n*n))/n);return new j({defines:{KERNEL_RADIUS:e},uniforms:{colorTexture:{value:null},invSize:{value:new U(.5,.5)},direction:{value:new U(.5,.5)},gaussianCoefficients:{value:t}},vertexShader:`
57
+
58
+ varying vec2 vUv;
59
+
60
+ void main() {
61
+
62
+ vUv = uv;
63
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
64
+
65
+ }`,fragmentShader:`
66
+
67
+ #include <common>
68
+
69
+ varying vec2 vUv;
70
+
71
+ uniform sampler2D colorTexture;
72
+ uniform vec2 invSize;
73
+ uniform vec2 direction;
74
+ uniform float gaussianCoefficients[KERNEL_RADIUS];
75
+
76
+ void main() {
77
+
78
+ float weightSum = gaussianCoefficients[0];
79
+ vec3 diffuseSum = texture2D( colorTexture, vUv ).rgb * weightSum;
80
+
81
+ for ( int i = 1; i < KERNEL_RADIUS; i ++ ) {
82
+
83
+ float x = float( i );
84
+ float w = gaussianCoefficients[i];
85
+ vec2 uvOffset = direction * invSize * x;
86
+ vec3 sample1 = texture2D( colorTexture, vUv + uvOffset ).rgb;
87
+ vec3 sample2 = texture2D( colorTexture, vUv - uvOffset ).rgb;
88
+ diffuseSum += ( sample1 + sample2 ) * w;
89
+
90
+ }
91
+
92
+ gl_FragColor = vec4( diffuseSum, 1.0 );
93
+
94
+ }`})}_getCompositeMaterial(e){return new j({defines:{NUM_MIPS:e},uniforms:{blurTexture1:{value:null},blurTexture2:{value:null},blurTexture3:{value:null},blurTexture4:{value:null},blurTexture5:{value:null},bloomStrength:{value:1},bloomFactors:{value:null},bloomTintColors:{value:null},bloomRadius:{value:0}},vertexShader:`
95
+
96
+ varying vec2 vUv;
97
+
98
+ void main() {
99
+
100
+ vUv = uv;
101
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
102
+
103
+ }`,fragmentShader:`
104
+
105
+ varying vec2 vUv;
106
+
107
+ uniform sampler2D blurTexture1;
108
+ uniform sampler2D blurTexture2;
109
+ uniform sampler2D blurTexture3;
110
+ uniform sampler2D blurTexture4;
111
+ uniform sampler2D blurTexture5;
112
+ uniform float bloomStrength;
113
+ uniform float bloomRadius;
114
+ uniform float bloomFactors[NUM_MIPS];
115
+ uniform vec3 bloomTintColors[NUM_MIPS];
116
+
117
+ float lerpBloomFactor( const in float factor ) {
118
+
119
+ float mirrorFactor = 1.2 - factor;
120
+ return mix( factor, mirrorFactor, bloomRadius );
121
+
122
+ }
123
+
124
+ void main() {
125
+
126
+ // 3.0 for backwards compatibility with previous alpha-based intensity
127
+ vec3 bloom = 3.0 * bloomStrength * (
128
+ lerpBloomFactor( bloomFactors[ 0 ] ) * bloomTintColors[ 0 ] * texture2D( blurTexture1, vUv ).rgb +
129
+ lerpBloomFactor( bloomFactors[ 1 ] ) * bloomTintColors[ 1 ] * texture2D( blurTexture2, vUv ).rgb +
130
+ lerpBloomFactor( bloomFactors[ 2 ] ) * bloomTintColors[ 2 ] * texture2D( blurTexture3, vUv ).rgb +
131
+ lerpBloomFactor( bloomFactors[ 3 ] ) * bloomTintColors[ 3 ] * texture2D( blurTexture4, vUv ).rgb +
132
+ lerpBloomFactor( bloomFactors[ 4 ] ) * bloomTintColors[ 4 ] * texture2D( blurTexture5, vUv ).rgb
133
+ );
134
+
135
+ float bloomAlpha = max( bloom.r, max( bloom.g, bloom.b ) );
136
+ gl_FragColor = vec4( bloom, bloomAlpha );
137
+
138
+ }`})}};ht.BlurDirectionX=new U(1,0),ht.BlurDirectionY=new U(0,1);var gt={name:`OutputShader`,uniforms:{tDiffuse:{value:null},toneMappingExposure:{value:1}},vertexShader:`
139
+ precision highp float;
140
+
141
+ uniform mat4 modelViewMatrix;
142
+ uniform mat4 projectionMatrix;
143
+
144
+ attribute vec3 position;
145
+ attribute vec2 uv;
146
+
147
+ varying vec2 vUv;
148
+
149
+ void main() {
150
+
151
+ vUv = uv;
152
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
153
+
154
+ }`,fragmentShader:`
155
+
156
+ precision highp float;
157
+
158
+ uniform sampler2D tDiffuse;
159
+
160
+ #include <tonemapping_pars_fragment>
161
+ #include <colorspace_pars_fragment>
162
+
163
+ varying vec2 vUv;
164
+
165
+ void main() {
166
+
167
+ gl_FragColor = texture2D( tDiffuse, vUv );
168
+
169
+ // tone mapping
170
+
171
+ #ifdef LINEAR_TONE_MAPPING
172
+
173
+ gl_FragColor.rgb = LinearToneMapping( gl_FragColor.rgb );
174
+
175
+ #elif defined( REINHARD_TONE_MAPPING )
176
+
177
+ gl_FragColor.rgb = ReinhardToneMapping( gl_FragColor.rgb );
178
+
179
+ #elif defined( CINEON_TONE_MAPPING )
180
+
181
+ gl_FragColor.rgb = CineonToneMapping( gl_FragColor.rgb );
182
+
183
+ #elif defined( ACES_FILMIC_TONE_MAPPING )
184
+
185
+ gl_FragColor.rgb = ACESFilmicToneMapping( gl_FragColor.rgb );
186
+
187
+ #elif defined( AGX_TONE_MAPPING )
188
+
189
+ gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb );
190
+
191
+ #elif defined( NEUTRAL_TONE_MAPPING )
192
+
193
+ gl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb );
194
+
195
+ #elif defined( CUSTOM_TONE_MAPPING )
196
+
197
+ gl_FragColor.rgb = CustomToneMapping( gl_FragColor.rgb );
198
+
199
+ #endif
200
+
201
+ // color space
202
+
203
+ #ifdef SRGB_TRANSFER
204
+
205
+ gl_FragColor = sRGBTransferOETF( gl_FragColor );
206
+
207
+ #endif
208
+
209
+ }`},_t=class extends Q{constructor(){super(),this.isOutputPass=!0,this.uniforms=O.clone(gt.uniforms),this.material=new se({name:gt.name,uniforms:this.uniforms,vertexShader:gt.vertexShader,fragmentShader:gt.fragmentShader}),this._fsQuad=new ct(this.material),this._outputColorSpace=null,this._toneMapping=null}render(e,t,n){this.uniforms.tDiffuse.value=n.texture,this.uniforms.toneMappingExposure.value=e.toneMappingExposure,(this._outputColorSpace!==e.outputColorSpace||this._toneMapping!==e.toneMapping)&&(this._outputColorSpace=e.outputColorSpace,this._toneMapping=e.toneMapping,this.material.defines={},i.getTransfer(this._outputColorSpace)===`srgb`&&(this.material.defines.SRGB_TRANSFER=``),this._toneMapping===1?this.material.defines.LINEAR_TONE_MAPPING=``:this._toneMapping===2?this.material.defines.REINHARD_TONE_MAPPING=``:this._toneMapping===3?this.material.defines.CINEON_TONE_MAPPING=``:this._toneMapping===4?this.material.defines.ACES_FILMIC_TONE_MAPPING=``:this._toneMapping===6?this.material.defines.AGX_TONE_MAPPING=``:this._toneMapping===7?this.material.defines.NEUTRAL_TONE_MAPPING=``:this._toneMapping===5&&(this.material.defines.CUSTOM_TONE_MAPPING=``),this.material.needsUpdate=!0),this.renderToScreen===!0?(e.setRenderTarget(null),this._fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this._fsQuad.render(e))}dispose(){this.material.dispose(),this._fsQuad.dispose()}},vt=class{channelId;name;x;z;radiusX;radiusZ;shape;rotationY;color;platform;padRing;beacon;boundary;label;members=[];host;constructor(e){Object.assign(this,e)}layout(){return{channelId:this.channelId,x:this.x,z:this.z,radiusX:this.radiusX,radiusZ:this.radiusZ,shape:this.shape,rotationY:this.rotationY}}normLayout(){return L(this.layout())}handlePoints(){return this.shape===`rect`?[[this.radiusX,this.radiusZ],[-this.radiusX,this.radiusZ],[-this.radiusX,-this.radiusZ],[this.radiusX,-this.radiusZ]]:[[this.radiusX,0],[-this.radiusX,0],[0,this.radiusZ],[0,-this.radiusZ]]}pointIn(e,t){return me(this.layout(),e,t)}moveBy(e,t){this.x+=e,this.z+=t,this.platform.position.set(this.x,.16,this.z),this.padRing.position.set(this.x,.32,this.z),this.beacon.position.set(this.x,0,this.z),this.boundary.position.set(this.x,.3,this.z),this.boundary.rotation.y=this.rotationY*Math.PI/180,this.label.position.set(this.x,30,this.z);for(let n of this.members)n.root.position.x+=e,n.root.position.z+=t,n.homeX+=e,n.homeZ+=t,n.range&&(n.range.x+=e,n.range.z+=t,n.renderRangeLine());this.host.trackLayout(this)}applyPatch(e){e.x!==void 0&&(this.x=e.x),e.z!==void 0&&(this.z=e.z),e.radiusX!==void 0&&(this.radiusX=e.radiusX),e.radiusZ!==void 0&&(this.radiusZ=e.radiusZ),e.shape!==void 0&&(this.shape=e.shape),e.rotationY!==void 0&&(this.rotationY=e.rotationY)}clampMembersAndRanges(){let e=this.layout();for(let t of this.members){let n=A(e,t.root.position.x,t.root.position.z,16);if(t.root.position.x=n.x,t.root.position.z=n.z,t.homeX=n.x,t.homeZ=n.z,t.range){t.renderRangeLine();let e=V(t.range,t.homeX,t.homeZ,0);(e.x!==t.homeX||e.z!==t.homeZ)&&(t.homeX=e.x,t.homeZ=e.z,t.root.position.x=e.x,t.root.position.z=e.z)}}this.host.markDirty()}};function $(e,t,n,r){let i=ye(e,t,n,48).map(([e,t])=>new C(e,0,t)),a=new w().setFromPoints(i);return new te(a,new ne({color:r,transparent:!0,opacity:.75,depthTest:!1}))}var yt=class{channelId;agentId;name;role;root;model;mixer;clips;colorNum;nameSprite;bubble;bubbleText;bubbleTimer;state;progress;behavior;dragging;homeX;homeZ;range;rangeLine;textureKey;modelRef;animState=`idle`;activeAction=null;host;moving=!1;aura=null;auraMats=[];auraPhase=0;attachAura(e,t){let n=new g,r=[],i=(t,i,a,o)=>{let s=new z({color:e,transparent:!0,opacity:o,side:2,depthWrite:!1,blending:2});s.userData.baseOp=o,r.push(s);let c=new h(new k(t,i,44),s);c.rotation.x=-Math.PI/2,c.position.y=a,n.add(c)};i(34,40,.36,.26),t===`lead`&&i(46,50,.42,.2),this.root.add(n),this.aura=n,this.auraMats=r,this.auraPhase=Math.random()*Math.PI*2}constructor(e){Object.assign(this,e)}reached(e){return Math.hypot(this.root.position.x-e.x,this.root.position.z-e.z)<=48}driveToward(e,n,r){this.moving=!0;let i={x:this.root.position.x,z:this.root.position.z},a=t({x:i.x,y:i.z},{x:e.x,y:e.z},n,r),o=a.x,s=a.y;if(this.range){let e=V(this.range,o,s,6);o=e.x,s=e.z}else{let e=this.host.blockLayoutOf(this.channelId);if(e){let t=A(e,o,s,6);o=t.x,s=t.z}}this.root.position.x=o,this.root.position.z=s;let c=a.dir===`left`?Math.PI:0,l=this.root.rotation.y,u=c-l;u>Math.PI?u-=Math.PI*2:u<-Math.PI&&(u+=Math.PI*2);let d=r*3.2;this.root.rotation.y=l+Math.max(-d,Math.min(d,u))}update(e){this.moving=!1;try{this.updateBehavior(e)}finally{this.playWalkAnim(this.moving)}}updateBehavior(e){let t=this.behavior;if(t.mode===`idle`||t.mode===`roam`){if(t.engaged||this.dragging)return;if(t.mode=`roam`,!t.roamTarget){if(performance.now()<t.pauseUntil)return;let e=this.host.blockLayoutOf(this.channelId),n,r;if(this.range){n=this.homeX+(Math.random()*2-1)*this.range.radiusX*.9,r=this.homeZ+(Math.random()*2-1)*this.range.radiusZ*.9;let e=V(this.range,n,r,8);n=e.x,r=e.z}else{let t=e?Math.min(e.radiusX,e.radiusZ)*.45:80;if(n=this.homeX+(Math.random()*2-1)*t,r=this.homeZ+(Math.random()*2-1)*t*.6,e){let t=A(e,n,r,16);n=t.x,r=t.z}}t.roamTarget={x:n,z:r}}this.driveToward(t.roamTarget,48,e),this.reached(t.roamTarget)&&(t.roamTarget=null,t.pauseUntil=performance.now()+350+Math.random()*900);return}if(t.mode===`approach`){let n=t.targetId?this.host.getAgent(t.targetId):void 0;if(!n){t.mode=`idle`;return}let r={x:n.root.position.x,z:n.root.position.z};if(this.range){let e=V(this.range,r.x,r.z,8);r={x:e.x,z:e.z}}this.driveToward(r,96,e),this.reached(r)&&(this.host.deliverBehavior(this,n),t.action?.requireReply?(t.mode=`wait`,t.waitUntil=performance.now()+Ee):(t.mode=`returnHome`,this.host.releaseEngaged(this),t.targetId=null));return}if(t.mode===`wait`){if(this.dragging)return;let n=t.targetId?this.host.getAgent(t.targetId):void 0;if(n&&!n.dragging){let t={x:n.root.position.x+28,z:n.root.position.z+8};this.driveToward(t,96*.6,e)}performance.now()>=t.waitUntil&&(t.mode=`returnHome`,this.host.releaseEngaged(this));return}if(t.mode===`returnHome`){if(this.dragging)return;let n={x:this.homeX,z:this.homeZ};this.driveToward(n,96*.7,e),this.reached(n)&&(this.root.position.set(this.homeX,0,this.homeZ),t.mode=`idle`,t.targetId=null,t.action=void 0)}}playWalkAnim(e){let t=e?`walk`:`idle`;if(this.animState!==t&&(this.animState=t,this.host.notifyMotion(this)),this.clips.length===0){let t=performance.now(),n=1.2+Math.sin(t*.0016)*1.6,r=Math.abs(Math.sin(t*.005))*6;this.model.position.y=e?r:n;let i=e?Math.sin(t*.006)*.07:0;this.model.rotation.z+=(i-this.model.rotation.z)*.12;return}if(!this.mixer)return;let n=e?+(this.clips.length>1):0,r=this.clips[n];if(!r)return;let i=this.mixer.clipAction(r);if(this.activeAction===i){i.timeScale=e?1.3:.9;return}i.reset().setEffectiveTimeScale(e?1.3:.9).fadeIn(.15).play(),this.activeAction&&this.activeAction.fadeOut(.15),this.activeAction=i}setHome(e,t){this.homeX=e,this.homeZ=t}renderRangeLine(){if(this.rangeLine&&=(this.host.threeScene.remove(this.rangeLine),null),!this.range)return;let e=4311284,t=$(this.range.shape,this.range.radiusX,this.range.radiusZ,e);t.material=new f({color:e,transparent:!0,opacity:.75,depthTest:!1,dashSize:14,gapSize:9}),t.computeLineDistances(),t.position.set(this.range.x,.5,this.range.z),t.rotation.y=this.range.rotationY*Math.PI/180,t.visible=this.host.rangeLineVisibleFor(this),this.host.threeScene.add(t),this.rangeLine=t,this.host.markDirty()}attachBubble(e,t){this.bubble&&(this.host.threeScene.remove(this.bubble),this.bubbleText=null),this.bubble=e,this.bubbleText=t}clearBubble(){this.bubble&&(this.host.threeScene.remove(this.bubble),this.bubble=null,this.bubbleText=null)}},bt=class{twinId;name;modelRef;root;holder;ring;arc=null;label;state;telemetry;host;constructor(e){Object.assign(this,e)}topYCache=null;lineColor=``;applyLine=null;updateRing(){let e=this.ring.material;this.lineColor?e.color.set(this.lineColor):e.color.setHex(this.state===`alarm`?16739179:this.state===`offline`?8689317:this.state===`running`?3530912:16172115),this.arc&&(this.arc.visible=this.state===`running`)}applyTwin(e){e.state&&(this.state=e.state),e.telemetry&&(this.telemetry={...this.telemetry,...e.telemetry}),e.name&&e.name!==this.name&&this.host.renameDeviceSprite(this,e.name),e.modelRef&&e.modelRef!==this.modelRef&&this.host.swapDeviceModelSprite(this,e.modelRef),(e.lineColor??``)!==this.lineColor&&(this.lineColor=e.lineColor??``,this.applyLine?.(this.lineColor)),this.updateRing(),this.host.markDirty()}rememberTransform(){return{posX:Math.round(this.root.position.x*10)/10,posZ:Math.round(this.root.position.z*10)/10,rotationY:Math.round(T.radToDeg(this.root.rotation.y)*10)/10}}},xt=class t{renderer;composer;camera;camTarget=new C(R,20,B);keyLight;scene;ground;skyDome=null;blocks=new Map;agents=new Map;deviceNodes=new Map;daqLedRings=new Map;daqLinkGroup=new g;daqLinks=[];static _wDir=new C;static _wRel=new C;static _wVec=new C;static _wVec2=new U;static _groundPlane=new De(new C(0,1,0),0);static _raycaster=new be;daqLinkSig=``;daqLinksWanted=[];filmWebGroup=new g;filmWebSig=``;filmWebMat=null;pendingDeviceTwins=new Map;pendingDeviceCreates=new Map;cancelledDeviceCreates=new Set;scalables=new Map;selected=null;modelsById=new Map;gltfCache=new Map;gltfLoader=new Oe;el;raf=0;clock=new y;frameCount=0;fpsAccum=0;frameBudgetMs=25;setFpsCap(e){this.frameBudgetMs=e>0?1e3/e:0,this.frameAcc=0}frameAcc=0;baseDpr=Math.min(window.devicePixelRatio,2);dirty=!0;flagBy=new Map;disposed=!1;dolly=1;autoOrbit=!1;viewCur={yaw:0,pitch:.7,radius:1178};viewTarget={yaw:0,pitch:.7,radius:1178};tControls=null;resizeOb=null;mode=`browse`;pointerDrag=null;snapEnabled=!0;selRing=null;resizeHandles=[];agentRangeHandles=[];rangeDrawLine=null;rangeDrawAgent=null;rangeDrawPreviewState=null;rangeHomeMoved=null;lastActivity=null;recentActivity=[];dbgBubbles=[];receivers=new Map;container;resolveTaskAssignee=null;devices=null;agentApi=null;channelApi=null;busHandlers=new Map;constructor(e,t){this.el=t,this.container=t,this.initRenderer(),this.buildBlocks(e)}initRenderer(){this.renderer=new ce({antialias:!0,alpha:!0,powerPreference:`high-performance`}),this.renderer.setPixelRatio(Math.min(window.devicePixelRatio,2)),this.renderer.setSize(this.el.clientWidth||1100,this.el.clientHeight||700),this.renderer.shadowMap.enabled=!0,this.renderer.shadowMap.type=2,this.renderer.shadowMap.autoUpdate=!1,this.renderer.outputColorSpace=I,this.renderer.toneMapping=4,this.renderer.toneMappingExposure=1.12,this.el.appendChild(this.renderer.domElement),this.resizeOb=new ResizeObserver(()=>{let e=this.el.clientWidth,t=this.el.clientHeight;e<2||t<2||(this.renderer.setSize(e,t),this.composer.setSize(e,t),this.camera.aspect=e/t,this.camera.updateProjectionMatrix(),this.dirty=!0)}),this.resizeOb.observe(this.el);let e=null;this.renderer.domElement.addEventListener(`pointerdown`,t=>{e=t.button===0?{x:t.clientX,y:t.clientY}:null}),this.renderer.domElement.addEventListener(`pointerup`,t=>{if(t.button!==0||this.pointerDrag||this.tControls?.dragging)return;if(e&&Math.hypot(t.clientX-e.x,t.clientY-e.y)>8){e=null;return}e=null;let n=this.screenToWorld(t.clientX,t.clientY),r=this.pickBeacon(n.x,n.z);if(r){this.setSelected(null),this.selectChannel(r.cid),this.focusTo(r.x,r.z);return}let i=this.pickAt(n.x,n.z);if(i){this.setSelected(i),this.selectedChannel&&this.selectChannel(null);return}let a=this.pickChannel(n.x,n.z);this.setSelected(null),a&&this.mode===`edit`&&this.selectChannel(a)}),this.renderer.domElement.addEventListener(`dblclick`,e=>{if(this.pointerDrag)return;let t=this.screenToWorld(e.clientX,e.clientY),n=this.pickAt(t.x,t.z);if(n?.kind===`agent`){let e=this.agents.get(n.id);e&&this.focusTo(e.root.position.x,e.root.position.z)}else if(n?.kind===`device`){let e=this.deviceNodes.get(n.id);e&&this.focusTo(e.root.position.x,e.root.position.z)}else{let e=this.pickChannel(t.x,t.z),n=e?this.blocks.get(e):void 0;n&&(this.selectChannel(e),this.focusTo(n.x,n.z))}}),this.scene=new le,this.scene.background=new F(659224),this.scene.fog=new p(1779766,1400,8800);try{let e=new je(this.renderer);this.scene.environment=e.fromScene(new ae,.04).texture,this.scene.environmentIntensity=.42,e.dispose()}catch{}this.skyDome=this.makeSkyDome(),this.scene.add(this.skyDome);for(let e=0;e<4;e++){let t=new h(new W(16,6,8,20),new z({color:16172115,transparent:!0,opacity:.95,depthTest:!1}));t.rotation.x=Math.PI/2,t.position.y=1.4,t.visible=!1,this.scene.add(t),this.resizeHandles.push({mesh:t,cid:``,handle:e})}for(let e=0;e<4;e++){let t=new h(new W(10,4,8,16),new z({color:4311284,transparent:!0,opacity:.95,depthTest:!1}));t.rotation.x=Math.PI/2,t.position.y=1.2,t.visible=!1,this.scene.add(t),this.agentRangeHandles.push({mesh:t,agentId:``,handle:e})}let t=new h(new k(.92,1,56),new z({color:16172115,transparent:!0,opacity:.85,side:2,depthWrite:!1,blending:2}));t.rotation.x=-Math.PI/2,t.position.y=.5,t.visible=!1,t.renderOrder=5,this.scene.add(t),this.selRing=t,this.camera=new ue(55,(this.el.clientWidth||1100)/(this.el.clientHeight||700),1,12e3),this.camera.position.set(R,760,B+900),this.camera.lookAt(R,20,B);let n=new Re(this.camera,this.renderer.domElement);n.size=.85,n.setMode(`translate`),n.showY=!1,n.addEventListener(`dragging-changed`,e=>{if(!e.value){let e=this.selected;e?.kind===`device`&&this.deviceNodes.has(e.id)&&this.persistDeviceTransform(e.id)}}),n.addEventListener(`objectChange`,()=>{let e=this.selected;if(!e||e.kind!==`device`)return;let t=this.deviceNodes.get(e.id);if(t){if(n.mode===`scale`&&Math.abs(t.root.scale.x-1)>1e-4){let n=this.scalables.get(`device:${e.id}`)?.userScale??1;this.setModelScale(e.id,Math.min(50,Math.max(.02,n*t.root.scale.x)),`device`),t.root.scale.set(1,1,1)}this.dirty=!0}}),this.tControls=n,this.scene.add(n.getHelper()),this.scene.add(new Ae(13690094,1.6));let r=new Me(10471400,3813157,.7);this.scene.add(r);let i=new v(16774368,3.2);i.position.set(R+500,900,B+300),i.castShadow=!0,this.keyLight=i,i.shadow.mapSize.set(2048,2048),i.shadow.camera.left=-1400,i.shadow.camera.right=1400,i.shadow.camera.top=2e3,i.shadow.camera.bottom=-2e3,i.shadow.normalBias=2,i.shadow.bias=-2e-4,i.shadow.radius=6,this.scene.add(i);let a=new v(8961023,.75);a.position.set(R-1200,900,B-800),this.scene.add(a);let o=new v(4311284,1.4);o.position.set(R-1400,620,B-1e3),this.scene.add(o);let c=new v(3530912,.4);c.position.set(R+700,380,B+900),this.scene.add(c);let l=new E({color:16777215,roughness:.62,metalness:.3,envMapIntensity:.42});this.ground=new h(new ve(D*16,N*16),l),this.ground.rotation.x=-Math.PI/2,this.ground.receiveShadow=!0,this.scene.add(this.ground),this.scene.add(this.daqLinkGroup,this.filmWebGroup);let u=new s(1,1,{type:S,samples:4});this.composer=new ft(this.renderer,u),this.composer.setPixelRatio(this.renderer.getPixelRatio()),this.composer.setSize(this.el.clientWidth||1100,this.el.clientHeight||700),this.composer.addPass(new pt(this.scene,this.camera)),this.composer.addPass(new ht(new U(this.el.clientWidth||1100,this.el.clientHeight||700),.32,.35,3)),this.composer.addPass(new _t),this.applyGroundTexture(),globalThis.__townScene3d=this,this.loop()}makeIndustrialGroundTexture(){let e=1024,t=document.createElement(`canvas`);t.width=e,t.height=e;let n=t.getContext(`2d`),r=n.createLinearGradient(0,0,e,e);r.addColorStop(0,`#151f36`),r.addColorStop(.5,`#101a2d`),r.addColorStop(1,`#131c31`),n.fillStyle=r,n.fillRect(0,0,e,e),n.strokeStyle=`rgba(42,63,102,0.32)`,n.lineWidth=2;for(let t=0;t<=8;t++){let r=t/8*e;n.beginPath(),n.moveTo(r,0),n.lineTo(r,e),n.stroke(),n.beginPath(),n.moveTo(0,r),n.lineTo(e,r),n.stroke()}n.strokeStyle=`rgba(42,63,102,0.2)`,n.lineWidth=1;for(let t=0;t<=32;t++){let r=t/32*e;n.beginPath(),n.moveTo(r,0),n.lineTo(r,e),n.stroke(),n.beginPath(),n.moveTo(0,r),n.lineTo(e,r),n.stroke()}n.fillStyle=`rgba(255,255,255,0.02)`;for(let t=0;t<900;t++){let r=t*733%e,i=t*151%e;n.fillRect(r,i,2,2)}let i=new l(t);return i.colorSpace=I,i.wrapS=Te,i.wrapT=Te,i.repeat.set(23,17),i.anisotropy=Math.min(8,this.renderer.capabilities.getMaxAnisotropy()),i}makeSkyDome(){let e=document.createElement(`canvas`);e.width=1024,e.height=256;let t=e.getContext(`2d`),n=t.createLinearGradient(0,0,0,256);n.addColorStop(0,`#080d16`),n.addColorStop(.4,`#121b27`),n.addColorStop(.64,`#22303e`),n.addColorStop(.84,`#3b4b5b`),n.addColorStop(1,`#2a3644`),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);let r=20260831,i=()=>(r=(r*1103515245+12345)%2147483648,r/2147483648);for(let n=0;n<220;n++){let n=i()*e.width,r=i()*i()*118,a=i()<.88?1:2,o=.12+i()*.5;t.fillStyle=i()<.24?`rgba(160,220,255,${o.toFixed(2)})`:`rgba(232,240,250,${o.toFixed(2)})`,t.beginPath(),t.arc(n,r,a,0,Math.PI*2),t.fill()}let a=new l(e);a.colorSpace=I;let o=new M(5600,24,16),s=new z({map:a,side:1,fog:!1,depthWrite:!1}),c=new h(o,s);return c.position.set(R,0,B),c.renderOrder=-10,c}applyGroundTexture(){try{let e=this.ground.material;e.map=this.makeIndustrialGroundTexture(),e.color.set(16777215),e.roughness=.94,e.metalness=.06,e.envMapIntensity=.28,e.needsUpdate=!0,this.dirty=!0}catch{}}on(e,t){return this.busHandlers.set(e,t),()=>this.busHandlers.delete(e)}emit(e,t){let n=this.busHandlers.get(e);n&&n(t)}buildBlocks(e){this.entityIndex.clear();for(let t of e){this.entityIndex.set(t.channelId,t);let e=this.layouts.get(t.channelId);e&&this.placeChannel(t,e)}this.emit(`blockCount`,this.blocks.size),this.emit(`agentCount`,this.agents.size)}placeChannel(e,t){let n=L(t),r=ge(e.channelId),i=this.makeBlock(e.channelName,r,n),a=new vt({channelId:e.channelId,name:e.channelName,x:n.x,z:n.z,radiusX:n.radiusX,radiusZ:n.radiusZ,shape:n.shape,rotationY:n.rotationY,color:r,platform:i.platform,padRing:i.padRing,beacon:i.beacon,boundary:$(n.shape,n.radiusX,n.radiusZ,r),label:this.makeLabel(e.channelName,n.x,30,n.z)});a.host=this,a.boundary.position.set(n.x,.3,n.z),a.boundary.rotation.y=n.rotationY*Math.PI/180,this.scene.add(a.boundary),this.blocks.set(e.channelId,a),this.layoutAgentsInBlock(e,a);for(let t of this.agents.values())t.channelId===e.channelId&&!a.members.includes(t)&&a.members.push(t)}layoutAgentsInBlock(e,t){let{x:n,z:r,radiusX:i,radiusZ:a}=t,o=.6,s=Math.max(1,e.agents.length);e.agents.forEach((c,l)=>{let u,d;if(typeof c.homeX==`number`&&typeof c.homeZ==`number`)u=c.homeX,d=c.homeZ;else{let e=s<=1?0:l/(s-1)*2-1;u=n+e*i*o*.8,d=r+(c.role===`lead`?0:(l%2==0?-1:1)*a*o*.4)}this.ensureAgent({...c,channelId:e.channelId},u,d,t.color)})}makeBlock(e,t,n){let r=n.rotationY*Math.PI/180,i=new h(this.makePadShapeGeometry(n.shape,n.radiusX,n.radiusZ),new E({color:t,transparent:!0,opacity:.24,roughness:.85,metalness:.12,emissive:t,emissiveIntensity:.12,side:2}));i.rotation.set(0,r,0),i.position.set(n.x,.16,n.z),i.receiveShadow=!1,this.scene.add(i);let a=new h(this.makePadRingGeometry(n.shape,n.radiusX,n.radiusZ),new z({color:t,transparent:!0,opacity:.52,side:2,depthWrite:!1}));a.rotation.set(0,r,0),a.position.set(n.x,.34,n.z),this.scene.add(a);let o=this.makeBeacon(t);return o.position.set(n.x,0,n.z),this.scene.add(o),{platform:i,padRing:a,beacon:o}}makeBeacon(e){let t=new g,n=new E({color:2766146,roughness:.45,metalness:.65}),r=new h(new _(7,9,5,12),n);r.position.y=2.5;let i=new h(new _(1.6,1.6,30,8),n);i.position.y=18;let a=new h(new ie(6.5),new z({color:e}));return a.material.color.multiplyScalar(4.5),a.position.y=37,t.add(r,i,a),t}pickBeacon(e,t){for(let n of this.blocks.values())if(Math.hypot(n.x-e,n.z-t)<34)return{cid:n.channelId,x:n.x,z:n.z};return null}makePadShapeGeometry(e,t,n){let r=new Se;e===`rect`?(r.moveTo(-t,-n),r.lineTo(t,-n),r.lineTo(t,n),r.lineTo(-t,n),r.closePath()):r.absellipse(0,0,t,n,0,Math.PI*2);let i=new _e(r,e===`rect`?1:56);return i.rotateX(Math.PI/2),i}makePadRingGeometry(e,t,n,i=13){let a=Math.max(4,t-i),o=Math.max(4,n-i),s=new Se,c=new r;e===`rect`?(s.moveTo(-t,-n),s.lineTo(t,-n),s.lineTo(t,n),s.lineTo(-t,n),s.closePath(),c.moveTo(-a,-o),c.lineTo(a,-o),c.lineTo(a,o),c.lineTo(-a,o),c.closePath()):(s.absellipse(0,0,t,n,0,Math.PI*2),c.absellipse(0,0,a,o,0,Math.PI*2)),s.holes.push(c);let l=new _e(s,e===`rect`?1:56);return l.rotateX(Math.PI/2),l}applyPadToBlock(e){let t=e.rotationY*Math.PI/180;e.platform.rotation.set(0,t,0),e.padRing.rotation.set(0,t,0);let n=e.platform.geometry;e.platform.geometry=this.makePadShapeGeometry(e.shape,e.radiusX,e.radiusZ),n.dispose();let r=e.padRing.geometry;e.padRing.geometry=this.makePadRingGeometry(e.shape,e.radiusX,e.radiusZ),r.dispose()}makeLabel(e,t,n,r,i=`#41c8f4`){let a=document.createElement(`canvas`),o=a.getContext(`2d`),s=`600 21px "Geist Mono", Geist, "PingFang SC", monospace`;o.font=s;let c=Math.max(104,Math.ceil(o.measureText(e).width)+26+14);a.width=c,a.height=48,o.font=s,o.fillStyle=`rgba(10,14,20,0.8)`,o.fillRect(0,0,c,48),o.strokeStyle=`${i}66`,o.lineWidth=1,o.strokeRect(.5,.5,c-1,47),o.fillStyle=i,o.fillRect(0,0,3,48),o.fillStyle=`#dce7f0`,o.textAlign=`left`,o.textBaseline=`middle`,o.fillText(e,26,25);let u=new l(a);u.colorSpace=I;let d=new pe(new oe({map:u,transparent:!0,depthTest:!1}));return d.scale.set(c/6,8,1),d.position.set(t,n,r),this.scene.add(d),d}hexOf(e){return`#${e.toString(16).padStart(6,`0`)}`}ensureAgent(e,t,n,r){let i=e.agentId;if(this.agents.has(i))return;let a=this.blockLayout(e.channelId),o=e.homeX??t,s=e.homeZ??n;if(a){let e=A(a,o,s,20);o=e.x,s=e.z}let c=e.range??null,l=new g;l.position.set(o,0,s);let u=this.makeLabel(e.name,o,48,s,this.hexOf(r)),d=e.modelRef||`hero-anime-1`,f=new g;l.add(f),this.scene.add(l);let p=new yt({channelId:e.channelId,agentId:i,name:e.name,role:e.role,root:l,model:f,mixer:null,clips:[],colorNum:r,nameSprite:u,bubble:null,bubbleText:null,bubbleTimer:null,state:e.state,progress:e.currentTaskProgress??null,dragging:!1,homeX:o,homeZ:s,range:c,rangeLine:null,textureKey:d,modelRef:e.modelRef??``,behavior:{mode:`idle`,roamTarget:null,targetId:null,waitUntil:0,pauseUntil:0,engaged:!1}});p.host=this,p.attachAura(r,e.role),this.agents.set(i,p);let m=this.modelsById.get(d)??(d.startsWith(`hero-anime-`)?{id:d,file:`/assets/game/character/${d}.glb`,name:`二次元角色`}:this.modelsById.get(`hero-3d`)??{id:`hero-3d`,file:`/assets/game/character/hero-3d.glb`,name:`标准员工模型`});this.mountModel(p,m.file,m.name),p.renderRangeLine(),this.emit(`agentCount`,this.agents.size)}async mountModel(e,t,n){let r=this.gltfCache.get(t),i,a;if(r)i=r.scene.clone(!0),a=r.height;else try{let e=await this.loadGltf(t);i=e.scene;let n=new o().setFromObject(i);a=Math.max(.5,n.max.y-n.min.y),this.gltfCache.set(t,{file:t,scene:i,height:a}),this.agentAnimClips.set(t,e.animations)}catch{i=this.makeFallbackBot(),a=1.4}i.position.y=0,i.scale.setScalar(120/a),i.traverse(e=>{e.isMesh&&(e.castShadow=!0)}),this.enhancePbrMaterials(i,`character`),e.model.clear(),e.model.add(i),this.registerScalable(`agent`,e.agentId,e.model),e.mixer=null,e.activeAction=null;let s=this.agentAnimClips.get(t)??[],c=s[0];if(c){e.mixer=new ee(i),e.clips=s;let t=e.mixer.clipAction(c);t.play(),e.activeAction=t}this.dirty=!0}agentAnimClips=new Map;loadGltf(e){return new Promise((t,n)=>{this.gltfLoader.load(e,e=>t({scene:e.scene,animations:e.animations??[]}),void 0,n)})}makeFallbackBot(){let e=new g,t=new E({color:2766146,roughness:.42,metalness:.62}),n=new E({color:1317668,roughness:.6,metalness:.4}),r=new z({color:4311284}),i=new h(new c(.42,.62,8,16),t);i.position.y=.86;let a=new h(new M(.32,16,12),t);a.position.y=1.62;let o=new h(new H(.4,.1,.12),r);o.position.set(0,1.66,.27);let s=new h(new M(.14,12,8),r);s.position.set(0,1.1,.36);let l=new h(new _(.5,.62,.26,16),n);l.position.y=.16;let u=new h(new _(.03,.03,.5,6),n);u.position.set(0,2.04,0);let d=new h(new M(.08,10,8),r);return d.position.set(0,2.34,0),e.add(i,a,o,s,l,u,d),e}registerModelsFromList(e){if(this.disposed)return;let t=new Set;for(let n of e){let e=this.modelsById.get(n.id);(!e||e.file!==n.file||e.name!==n.name||e.kind!==n.kind||e.hFactor!==(n.hFactor??1))&&(this.modelsById.set(n.id,{...n,hFactor:n.hFactor??1}),t.add(n.id))}if(t.size>0){for(let e of this.agents.values()){if(!e.modelRef||!t.has(e.modelRef))continue;let n=this.modelsById.get(e.modelRef);n&&this.mountModel(e,n.file,n.name)}for(let e of this.deviceNodes.values())t.has(e.modelRef)&&this.swapDeviceModelSprite(e,e.modelRef)}for(let e of[...this.pendingDeviceTwins.values()])!(e.kind===`daq`||(e.modelRef??``).startsWith(`daq-`))&&!this.modelsById.get(e.modelRef)?.file||(this.pendingDeviceTwins.delete(e.id),this.recreateDeviceNode(e))}applySceneLayouts(e){this.layouts.clear();for(let t of e){let e=L(t);this.layouts.set(e.channelId,e)}}hasChannel(e){return this.blocks.has(e)}blockLayout(e){let t=this.blocks.get(e);return t?t.layout():null}placedChannels(){return[...this.blocks.keys()]}getChannelLayout(e){let t=this.blocks.get(e);return t?t.layout():null}get threeScene(){return this.scene}markDirty(){this.dirty=!0}trackLayout(e){this.layouts.set(e.channelId,e.normLayout())}renameDeviceSprite(e,t){e.name=t.trim(),this.scene.remove(e.label),e.label=this.makeLabel(`⚙ ${e.name}`,e.root.position.x,60,e.root.position.z),this.dirty=!0}swapDeviceModelSprite(e,t){let n=this.modelsById.get(t);n?.file&&(e.modelRef!==t||e.holder.userData.modelFile!==n.file)&&(e.modelRef=t,e.holder.clear(),e.holder.userData.modelFile=n.file,this.loadGltfToGroup(n.file,e.holder,192),this.dirty=!0)}hydrate(e,t,n){this.applySceneLayouts(t),this.rebuild(e),this.syncDevices(n),this.emit(`blockCount`,this.blocks.size),this.emit(`agentCount`,this.agents.size)}rebuild(e){this.resetAll(),this.buildBlocks(e),this.emit(`blockCount`,this.blocks.size),this.emit(`agentCount`,this.agents.size)}focusChannel(e){let t=this.blocks.get(e);t&&this.focusTo(t.x,t.z)}dropChannelOnWorld(e,t,n,r,i){let a=this.blocks.get(n);if(a)return this.focusTo(a.x,a.z),{x:Math.round(a.x),z:Math.round(a.z),channelId:n,name:a.name};let o={channelId:n,x:e,z:t,radiusX:Math.max(120,110+i*18),radiusZ:Math.max(80,70+i*14),shape:`ellipse`,rotationY:0};this.layouts.set(n,L(o));let s=this.entityIndex.get(n);if(s)this.placeChannel(s,o);else{let i=ge(n),a=this.makeBlock(r,i,o),s=new vt({channelId:n,name:r,x:e,z:t,radiusX:o.radiusX,radiusZ:o.radiusZ,shape:o.shape,rotationY:o.rotationY,color:i,platform:a.platform,padRing:a.padRing,beacon:a.beacon,boundary:$(o.shape,o.radiusX,o.radiusZ,i),label:this.makeLabel(r,e,30,t)});s.host=this,s.boundary.position.set(e,.3,t),this.scene.add(s.boundary),this.blocks.set(n,s)}return this.emit(`blockCount`,this.blocks.size),this.emit(`agentCount`,this.agents.size),{x:Math.round(e),z:Math.round(t),channelId:n,name:r}}updateChannelLayout(e,t){let n=this.blocks.get(e);if(!n)return;t.x!==void 0&&(n.x=t.x),t.z!==void 0&&(n.z=t.z),t.radiusX!==void 0&&(n.radiusX=Math.max(60,t.radiusX)),t.radiusZ!==void 0&&(n.radiusZ=Math.max(40,t.radiusZ)),t.shape!==void 0&&(n.shape=t.shape),t.rotationY!==void 0&&(n.rotationY=t.rotationY);let r=L({channelId:e,x:n.x,z:n.z,radiusX:n.radiusX,radiusZ:n.radiusZ,shape:n.shape,rotationY:n.rotationY});this.layouts.set(e,r),this.scene.remove(n.boundary),this.applyPadToBlock(n),n.boundary=$(r.shape,r.radiusX,r.radiusZ,n.color),n.boundary.position.set(r.x,.3,r.z),n.boundary.rotation.y=r.rotationY*Math.PI/180,this.scene.add(n.boundary),this.clampAgentsToBoundary(e),this.dirty=!0}removeChannel(e){let t=this.blocks.get(e);if(t){this.scene.remove(t.platform),this.scene.remove(t.padRing),this.scene.remove(t.beacon),t.boundary&&this.scene.remove(t.boundary),this.scene.remove(t.label);for(let[t,n]of[...this.agents.entries()])n.channelId===e&&(this.scene.remove(n.root),n.nameSprite&&this.scene.remove(n.nameSprite),n.bubble&&this.scene.remove(n.bubble),n.rangeLine&&this.scene.remove(n.rangeLine),this.disposeAgentAssets(n),this.agents.delete(t));t.label&&this.disposeCanvasTextures(t.label),this.rangeDrawAgent&&this.agents.get(this.rangeDrawAgent)===void 0&&this.cancelRangeDraw(),this.blocks.delete(e),this.layouts.delete(e),this.receivers.delete(e);for(let e of this.resizeHandles)e.mesh.visible=!1;for(let e of this.agentRangeHandles)e.mesh.visible=!1;this.selectedChannel===e&&(this.selectedChannel=null,this.emit(`selectChannel`,null)),this.emit(`blockCount`,this.blocks.size),this.emit(`agentCount`,this.agents.size),this.dirty=!0}}applyBlockMove(e,t,n){e.moveBy(t-e.x,n-e.z),this.refreshAgentRangeHandles(),this.dirty=!0}applyLayoutToBlock(e){let t={channelId:e.channelId,x:e.x,z:e.z,radiusX:e.radiusX,radiusZ:e.radiusZ,shape:e.shape,rotationY:e.rotationY};this.layouts.set(e.channelId,L(t)),e.platform.position.set(e.x,.16,e.z),e.padRing.position.set(e.x,.34,e.z),this.applyPadToBlock(e),e.boundary&&this.scene.remove(e.boundary),e.boundary=$(e.shape,e.radiusX,e.radiusZ,e.color),e.boundary.position.set(e.x,.3,e.z),e.boundary.rotation.y=e.rotationY*Math.PI/180,this.scene.add(e.boundary),this.dirty=!0}boundaryHandlePoints(e){return e.shape===`rect`?[[e.radiusX,e.radiusZ],[-e.radiusX,e.radiusZ],[-e.radiusX,-e.radiusZ],[e.radiusX,-e.radiusZ]]:[[e.radiusX,0],[-e.radiusX,0],[0,e.radiusZ],[0,-e.radiusZ]]}refreshChannelHandles(){for(let e of this.resizeHandles)e.mesh.visible=!1;if(this.mode!==`edit`||!this.selectedChannel)return;let e=this.blocks.get(this.selectedChannel);if(!e)return;let t=e.rotationY*Math.PI/180,n=this.boundaryHandlePoints(e);for(let r=0;r<this.resizeHandles.length&&r<n.length;r++){let[i,a]=n[r],o=e.x+i*Math.cos(t)-a*Math.sin(t),s=e.z+i*Math.sin(t)+a*Math.cos(t);this.resizeHandles[r].cid=e.channelId,this.resizeHandles[r].mesh.position.set(o,1.4,s),this.resizeHandles[r].mesh.visible=!0}}pickResizeHandle(e,t){if(this.mode!==`edit`)return null;for(let n of this.resizeHandles)if(n.mesh.visible&&Math.hypot(n.mesh.position.x-e,n.mesh.position.z-t)<90)return{cid:n.cid,handle:n.handle};return null}applyResize(e,t,n,r){let i=-e.rotationY*Math.PI/180,a=Math.cos(i),o=Math.sin(i),s=n-e.x,c=r-e.z,l=s*a-c*o,u=s*o+c*a;e.shape===`rect`?(e.radiusX=Math.max(60,Math.abs(l)),e.radiusZ=Math.max(40,Math.abs(u))):t===0||t===1?e.radiusX=Math.max(60,Math.abs(l)):e.radiusZ=Math.max(40,Math.abs(u)),this.applyLayoutToBlock(e),this.refreshChannelHandles(),this.autoFrameTo(e.radiusX,e.radiusZ),this.dirty=!0}clampAgentsToBoundary(e){let t=this.blocks.get(e);t&&(t.clampMembersAndRanges(),this.dirty=!0)}getSelectedChannel(){return this.selectedChannel}selectChannel(e){this.selectedChannel=e,this.emit(`selectChannel`,e),this.refreshChannelHandles(),this.cancelRangeDraw(),this.refreshAgentRangeHandles();for(let t of this.blocks.values()){let n=t.boundary.material;n.color.setHex(t.channelId===e?16172115:t.color),n.opacity=t.channelId===e?1:.75}e&&!this.pointerDrag&&this.focusTo(this.blocks.get(e)?.x??1600,this.blocks.get(e)?.z??1200)}getAllChannelLayouts(){return[...this.blocks.values()].map(e=>({channelId:e.channelId,x:e.x,z:e.z,radiusX:e.radiusX,radiusZ:e.radiusZ,shape:e.shape,rotationY:e.rotationY}))}handleTownEvent(t){if(t.type===`channel.snapshot`)return;if(t.type===`scene.layout.saved`){let e=t.payload;this.blocks.has(e.channelId)&&(this.applySceneLayouts([...this.layouts.values(),e]),this.getChannelLayout(e.channelId)&&this.updateChannelLayout(e.channelId,e));return}if(t.type===`scene.layout.removed`){let{channelId:e}=t.payload;this.removeChannel(e);return}let r=e(t);if(!r)return;if(r.agentId){let e=this.agents.get(r.agentId);e&&(t.type===`agent.status`&&(e.state=t.payload.state,e.state!==`busy`&&(e.progress=null)),t.type===`task.progress`&&(e.progress=t.payload.progress),this.dirty=!0)}r.bubble&&this.enqueueBubble(r.bubble.channelId,r.bubble.agentId,r.bubble.kind,r.bubble.text,r.bubble.ttlMs),this.emitResonance(t);let i=n(t,{resolveTaskAssignee:this.resolveTaskAssignee??void 0});i&&this.startBehavior(i)}startBehavior(e){let t=this.agents.get(e.fromId),n=this.agents.get(e.toId);!t||!n||t.dragging||(t.behavior.mode=`approach`,t.behavior.targetId=n.agentId,t.behavior.action=e,n.dragging||(n.behavior.engaged=!0,n.behavior.roamTarget=null),this.emit(`behavior`,{agentName:t.name,action:this.behaviorActionLabel(e.kind),targetName:n.name}))}behaviorActionLabel(e){return e===`task`?`下发任务`:`回复`}notifyMotion(e){this.emit(`motion`,{agentName:e.name,anim:e.animState,at:Date.now()})}deliverBehavior(e,t){let n=e.behavior.action?.text??``;n&&this.enqueueBubble(e.channelId,e.agentId,`info`,n,2600),this.emit(`behavior`,{agentName:e.name,action:this.behaviorActionLabel(e.behavior.action?.kind??`message`),targetName:t.name})}releaseEngaged(e){let t=e.behavior.targetId?this.agents.get(e.behavior.targetId):void 0;t&&(t.behavior.engaged=!1)}getAgent(e){return this.agents.get(e)}blockLayoutOf(e){return this.blockLayout(e)}resolveFile(e){return this.modelsById.get(e)?.file??``}getCameraTarget(){return{x:Math.round(this.camTarget.x),z:Math.round(this.camTarget.z)}}swapAgentModel(e,t){let n=this.agents.get(e);if(!n)return;let r=this.modelsById.get(t),i=r?.file??`/assets/game/character/hero-3d.glb`;n.modelRef=t,n.textureKey=t,this.mountModel(n,i,r?.name??t)}emitResonance(e){let t=this.blocks.get(e.channelId),n=e.agentId?this.agents.get(e.agentId):void 0,r=n?.root.position.x??t?.x,i=n?.root.position.z??t?.z;r!==void 0&&i!==void 0&&(e.type===`agent.message`||e.type===`agent.status.message`||e.type===`a2a.message`?this.pulseRing(r,i,n?4311284:t?.color??4311284):e.type===`error`||e.type===`task.status`&&(e.payload.state===`failed`||e.payload.state===`canceled`)?this.pulseRing(r,i,16739179):e.type===`task.status`&&e.payload.state===`completed`&&this.lightColumn(r,i,3530912))}pulseRing(e,t,n){let r=new h(new k(10,22,24),new z({color:n,transparent:!0,opacity:.8,side:2,depthWrite:!1}));r.rotation.x=-Math.PI/2,r.position.set(e,.4,t),this.scene.add(r);let i=performance.now(),a=()=>{let e=Math.min(1,(performance.now()-i)/800),t=1-(1-e)**3;if(r.scale.setScalar(1+t*1.6),r.material.opacity=.8*(1-t),e>=1){this.scene.remove(r),r.geometry.dispose(),r.material.dispose();return}this.rafAnims.push(a)};this.rafAnims.push(a)}lightColumn(e,t,n){let r=new _(6,12,120,16);r.translate(0,60,0);let i=new h(r,new z({color:n,transparent:!0,opacity:.8,depthWrite:!1}));i.position.set(e,0,t),i.scale.y=.01,this.scene.add(i);let a=performance.now(),o=()=>{let e=Math.min(1,(performance.now()-a)/900),t=1-(1-e)**2;if(i.scale.y=.01+t*.99,i.material.opacity=.8*(1-e),e>=1){this.scene.remove(i),i.geometry.dispose(),i.material.dispose();return}this.rafAnims.push(o)};this.rafAnims.push(o)}rafAnims=[];layouts=new Map;entityIndex=new Map;selectedChannel=null;enqueueBubble(e,t,n,r,i){this.dbgBubbles.push({text:r,at:Date.now()}),this.dbgBubbles.length>30&&this.dbgBubbles.splice(0,this.dbgBubbles.length-30);let a=t?this.agents.get(t)?.name:void 0;this.lastActivity={channelId:e,agentName:a??this.blocks.get(e)?.name??`系统`,text:r,at:Date.now()},this.recentActivity.push(this.lastActivity),this.recentActivity.length>30&&this.recentActivity.splice(0,this.recentActivity.length-30),this.emit(`lastActivity`,this.lastActivity);let o=this.receivers.get(e);o||(o={channelId:e,queue:[],current:null,currentUntil:0},this.receivers.set(e,o)),o.queue.length>=24&&o.queue.splice(0,o.queue.length-24),o.queue.push({agentId:t??null,kind:n,text:r,ttlMs:i}),this.dirty=!0}drainReceivers(e){for(let t of this.receivers.values()){if(t.current){if(e<t.currentUntil)continue;this.clearReceiverBubble(t.channelId,t.current),t.current=null}let n=t.queue.shift();n&&(t.current=n,t.currentUntil=e+xe(n.text,t.queue.length),this.renderReceiverBubble(t.channelId,n))}}clearReceiverBubble(e,t){if(!t.agentId)return;let n=this.agents.get(t.agentId);n?.bubble&&(this.scene.remove(n.bubble),n.bubble=null,n.bubbleText=null,n.bubbleTimer&&=(clearTimeout(n.bubbleTimer),null))}renderReceiverBubble(e,t){let n=t.agentId?this.agents.get(t.agentId):void 0,r=this.blocks.get(e);if(!n&&!r)return;let i=n?.name??r?.name??`系统`,a=n?n.colorNum:r?.color??4311284,o=(t.kind===`artifact`&&!t.text.startsWith(`📦`)?`📦 ${t.text}`:t.text)||`…`,s=this.makeChatBubble(o,i,a,t.kind),c=n?.root.position.x??r.x,l=n?.root.position.z??r.z;if(s.position.set(c,n?108+Math.max(0,n.model.scale.y-1)*22:64,l),this.scene.add(s),!n){window.setTimeout(()=>{this.scene.remove(s)},we(t.text)+500);return}n.bubble&&(this.scene.remove(n.bubble),this.disposeCanvasTextures(n.bubble),n.bubbleText=null),n.bubble=s,n.bubbleText=o,this.popInSprite(s),this.dirty=!0}makeChatBubble(e,t,n,r){let i=`#${n.toString(16).padStart(6,`0`)}`,a=document.createElement(`canvas`),o=a.getContext(`2d`),s=`18px Geist, "PingFang SC", sans-serif`;o.font=s;let c=this.wrapBubbleLines(o,e.replace(/\s+/g,` `).trim()||`…`,470,6),u=Math.max(...c.map(e=>o.measureText(e).width)),d=Math.min(680,Math.max(140,Math.ceil(u)+36)),f=26+c.length*24+24,p=f+13;a.width=d,a.height=p,o.clearRect(0,0,d,p);let m=d/2,h=Math.min(24,d*.32),g=()=>{o.beginPath(),o.moveTo(4,0),o.lineTo(d-4,0),o.quadraticCurveTo(d,0,d,4),o.lineTo(d,f-4),o.quadraticCurveTo(d,f,d-4,f),o.lineTo(m+h/2,f),o.lineTo(m,f+13),o.lineTo(m-h/2,f),o.lineTo(4,f),o.quadraticCurveTo(0,f,0,f-4),o.lineTo(0,4),o.quadraticCurveTo(0,0,4,0),o.closePath()};o.save(),o.shadowColor=`rgba(0,0,0,0.55)`,o.shadowBlur=14,o.shadowOffsetY=4,g(),o.fillStyle=`rgba(14,18,27,0.94)`,o.fill(),o.restore(),o.save(),g(),o.clip(),o.fillStyle=`rgba(255,255,255,0.045)`,o.fillRect(0,0,d,38),o.restore(),o.globalAlpha=.28,o.fillStyle=`#fff`,o.fillRect(18,30,d-36,1),o.globalAlpha=1,g(),o.lineWidth=1.2,o.strokeStyle=`rgba(140,170,195,0.4)`,o.stroke(),o.save(),g(),o.clip(),o.fillStyle=i,o.fillRect(0,0,3,f),o.restore(),o.font=`600 13px "Geist Mono", Geist, "PingFang SC", monospace`,o.fillStyle=i,o.textBaseline=`middle`,o.textAlign=`left`,o.fillText(t,18,22);let _=r===`artifact`?`ARTIFACT`:r===`error`?`FAULT`:``;if(_){let e=o.measureText(_).width+12;o.font=`600 10px "Geist Mono", Geist, monospace`,o.fillStyle=r===`error`?`#ff8d80`:`#9fc3e8`,o.strokeStyle=r===`error`?`rgba(255,141,128,0.55)`:`rgba(159,195,232,0.45)`,o.lineWidth=1;let t=d-18-e;o.beginPath(),o.rect(t,14,e,16),o.fill(),o.stroke(),o.textAlign=`center`,o.fillText(_,t+e/2,22.5)}o.font=s,o.fillStyle=r===`error`?`#ff9d9d`:`#eef2fb`,o.textAlign=`left`,c.forEach((e,t)=>o.fillText(e,18,48+t*24));let v=new l(a);v.colorSpace=I;let y=new pe(new oe({map:v,transparent:!0,depthTest:!1,depthWrite:!1})),b=2.4;return y.scale.set(d/b,p/b,1),y}popInSprite(e){let t=e.scale.x,n=e.scale.y;e.scale.set(t*.62,n*.62,1);let r=performance.now(),i=()=>{if(this.disposed)return;let a=Math.min(1,(performance.now()-r)/180),o=.62+.38*(1-(1-a)**3);e.scale.set(t*o,n*o,1),a<1&&this.rafAnims.push(i)};this.rafAnims.push(i)}wrapBubbleLines(e,t,n,r){let i=[],a=``;for(let o of t)if(e.measureText(a+o).width>n&&a){if(i.push(a),a=o,i.length>=r)return i[r-1]=`${i[r-1]??``}…`,i}else a+=o;return a&&i.push(a),i.length===0&&i.push(`…`),i}get canvas(){return this.renderer.domElement}worldToScreen(e,n,r){let i=this.renderer.domElement.getBoundingClientRect(),a=t._wDir;if(this.camera.getWorldDirection(a),t._wRel.set(e-this.camera.position.x,n-this.camera.position.y,r-this.camera.position.z).dot(a)<=.1)return null;let o=t._wVec.set(e,n,r).project(this.camera);return o.z>1||Math.abs(o.x)>1.6||Math.abs(o.y)>1.6?null:{x:i.left+(o.x+1)/2*i.width,y:i.top+(1-o.y)/2*i.height}}screenToWorld(e,n){let r=this.renderer.domElement.getBoundingClientRect(),i=(e-r.left)/r.width*2-1,a=-((n-r.top)/r.height)*2+1,o=t._raycaster;o.setFromCamera(t._wVec2.set(i,a),this.camera);let s=t._wVec;return o.ray.intersectPlane(t._groundPlane,s),s?{x:s.x,z:s.z}:{x:this.camera.position.x,z:this.camera.position.z}}panBy(e,t){this.camTarget.x-=e,this.camTarget.z-=t}autoDolly=null;fitDollyFor(e,t){let n=this.camera.aspect||1.6;return Math.max(e/(.82*613*n),t/779)}autoFrameTo(e,t){let n=this.fitDollyFor(e,t);n>this.dolly&&(this.autoDolly=Math.min(40,n*1.18))}setTransformMode(e){this.tControls&&(this.tControls.setMode(e),this.tControls.showX=e!==`rotate`,this.tControls.showY=e!==`translate`,this.tControls.showZ=e!==`rotate`)}isGizmoBusy(){return!!this.tControls&&(this.tControls.dragging||!!this.tControls.axis)}setViewPreset(e){let t={std:{yaw:0,pitch:.7,radius:1178},top:{yaw:0,pitch:1.51,radius:2400},front:{yaw:0,pitch:.09,radius:1510},side:{yaw:Math.PI/2,pitch:.33,radius:1320}},n=t[e]??t.std;this.viewTarget={...n}}orbitBy(e,t){let n=this.viewCur.yaw-e*.0052,r=Math.min(1.52,Math.max(.06,this.viewCur.pitch+t*.0052));this.viewCur={yaw:n,pitch:r,radius:this.viewCur.radius},this.viewTarget={...this.viewCur},this.dirty=!0}setAutoOrbit(e){this.autoOrbit=e}getAutoOrbit(){return this.autoOrbit}panByScreen(e,t){let n=this.viewCur.radius*this.dolly*.0011,r=Math.sin(this.viewCur.yaw),i=Math.cos(this.viewCur.yaw),a=Math.sin(this.viewCur.pitch),o=(i*e+a*r*t)*n,s=(-r*e+a*i*t)*n;this.panBy(o,s)}flyToPreset(e,t=900){this.setViewPreset(e)}getCameraPose(){return{pos:{x:this.camera.position.x,y:this.camera.position.y,z:this.camera.position.z},target:{x:this.camTarget.x,z:this.camTarget.z},yaw:this.viewCur.yaw,dolly:this.dolly}}panWorldBy(e,t){this.camTarget.x-=e,this.camTarget.z-=t,this.camera.position.x-=e,this.camera.position.z-=t,this.dirty=!0}setExposure(e){this.renderer.toneMappingExposure=Math.min(2.2,Math.max(.2,e))}setTerritoryOpacity(e){let t=Math.min(1,Math.max(.05,e));for(let e of this.blocks.values())e.platform.material.opacity=.24*t;this.dirty=!0}resetView(){this.dolly=1,this.autoDolly=null,this.tweenCamTo(R,B),this.setViewPreset(`std`)}zoomBy(e){this.autoDolly=null,this.dolly=Math.min(1e3,Math.max(.001,this.dolly+e))}focusTo(e,t){this.tweenCamTo(e,t)}tweenCamTo(e,t){let n=performance.now(),r=this.camTarget.x,i=this.camTarget.z,a=()=>{let o=Math.min(1,(performance.now()-n)/600),s=1-(1-o)**3;this.camTarget.x=r+(e-r)*s,this.camTarget.z=i+(t-i)*s,o<1&&this.rafAnims.push(a)};this.rafAnims.push(a)}dropModelOnWorld(e,t,n){let r=this.nearestAgent(e,t,80),i=this.modelsById.get(n),a=i?.id??n;if(i?.kind===`dev`)return{mode:`spawn`,agentId:this.spawnDeviceNode(e,t,a,i.file,i.name),textureKey:a,x:Math.round(e),y:Math.round(t)};if(r)return this.swapTexture(r,a),this.enqueueBubble(r.channelId,r.agentId,`info`,`换装 → ${i?.name??n}`,2200),{mode:`rebind`,agentId:r.agentId,textureKey:a,x:Math.round(r.root.position.x),y:Math.round(r.root.position.z)};let o=i??{id:n,file:``,name:n};return this.spawnResident(e,t,a,o.name),{mode:`spawn`,textureKey:a,x:Math.round(e),y:Math.round(t)}}nearestAgent(e,t,n){let r,i=n;for(let n of this.agents.values()){let a=Math.hypot(n.root.position.x-e,n.root.position.z-t);a<i&&(r=n,i=a)}return r}swapTexture(e,t){let n=this.modelsById.get(t),r=n?.file??this.resolveFile(t)??`/assets/game/character/hero-3d.glb`;e.modelRef=t,e.textureKey=t,this.mountModel(e,r,n?.name??t)}spawnResident(e,t,n,r){let i=new g;i.position.set(e,0,t);let a=new g;i.add(a);let o=this.makeLabel(r,e,48,t,this.hexOf(16771524));this.scene.add(i);let s=new yt({channelId:``,agentId:`resident-${Date.now().toString(36)}`,name:r,role:`worker`,root:i,model:a,mixer:null,clips:[],colorNum:16771524,nameSprite:o,bubble:null,bubbleText:null,bubbleTimer:null,state:`idle`,progress:null,dragging:!1,homeX:e,homeZ:t,range:null,rangeLine:null,textureKey:n,modelRef:n,behavior:{mode:`idle`,roamTarget:null,targetId:null,waitUntil:0,pauseUntil:0,engaged:!1}});s.host=this,s.attachAura(16771524,`worker`),this.agents.set(s.agentId,s);let c=this.modelsById.get(n);this.mountModel(s,c?.file??`/assets/game/character/hero-3d.glb`,c?.name??r)}makeDeviceRing(){let e=new h(new k(20,26,32),new z({color:16172115,transparent:!0,opacity:.8,side:2}));e.rotation.x=-Math.PI/2,e.position.y=.3;let t=new h(new k(20,26,32,1,0,Math.PI*1.5),new z({color:3530912,transparent:!0,opacity:.55,side:2,depthWrite:!1,blending:2}));return t.rotation.x=-Math.PI/2,t.position.y=.34,t.visible=!1,{ring:e,arc:t}}spawnDeviceNode(e,t,n,r,i){let a=`dev-${Date.now().toString(36)}`,o=new g;o.position.set(e,0,t);let{ring:s,arc:c}=this.makeDeviceRing();o.add(s,c);let l=new g;o.add(l),l.userData.modelFile=r;let u=this.makeLabel(`⚙ ${i}`,e,60,t);this.scene.add(o);let d=new bt({twinId:a,name:i,modelRef:n,root:o,holder:l,ring:s,label:u,state:`idle`,telemetry:{}});d.host=this,d.arc=c,d.updateRing(),this.deviceNodes.set(a,d),this.registerScalable(`device`,a,l),this.loadGltfToGroup(r,l,192);let f=this.scalables.get(`device:${a}`),p=this.devices?.create({name:i,modelRef:n,kind:`device`,controls:[`power_on`,`power_off`,`set_speed`],posX:Math.round(e*10)/10,posZ:Math.round(t*10)/10,scale:f?Math.round(f.userScale*100)/100:1});return p?(this.pendingDeviceCreates.set(a,{name:i,modelRef:n,posX:e,posZ:t}),p.then(e=>{let t=this.cancelledDeviceCreates.delete(a);if(this.pendingDeviceCreates.delete(a),t){this.devices?.remove?.(e.id).catch(()=>{});return}this.disposed||this.adoptDeviceNode(a,e.id)}).catch(()=>{this.cancelledDeviceCreates.delete(a),this.pendingDeviceCreates.delete(a)}),a):a}adoptDeviceNode(e,t){this.pendingDeviceCreates.delete(e);let n=this.deviceNodes.get(e);if(!n)return;let r=this.deviceNodes.get(t);if(r&&r!==n){this.removeDeviceNode(e),this.selected?.kind===`device`&&this.selected.id===e&&this.setSelected({kind:`device`,id:t});return}this.deviceNodes.delete(e),n.twinId=t,this.deviceNodes.set(t,n);let i=this.scalables.get(`device:${e}`);this.scalables.delete(`device:${e}`),i&&(i.id=t,this.scalables.set(`device:${t}`,i));let a=this.pendingSaveTimers.get(e);this.pendingSaveTimers.delete(e),a&&this.pendingSaveTimers.set(t,a),this.pointerDrag?.kind===`device`&&this.pointerDrag.id===e&&(this.pointerDrag.id=t),this.selected?.kind===`device`&&this.selected.id===e&&this.setSelected({kind:`device`,id:t}),this.persistDeviceTransform(t)}async loadGltfToGroup(e,t,n){try{let r=await this.loadGltf(e),i=new o().setFromObject(r.scene),a=n/Math.max(.5,i.max.y-i.min.y);r.scene.scale.setScalar(a),r.scene.position.y=0,r.scene.traverse(e=>{e.isMesh&&(e.castShadow=!0)}),this.enhancePbrMaterials(r.scene,`device`),t.add(r.scene)}catch{}}enhancePbrMaterials(e,t){e.traverse(e=>{let n=e;if(!n.isMesh)return;n.receiveShadow=!0;let r=e=>{let n=e,r;if(n?.isMeshBasicMaterial){if(t===`device`&&/led|lamp|light/i.test(n.name??``)){let e=n.userData??={};return e.hdrBoost||=(n.color.multiplyScalar(4.5),!0),n}r=new E({map:n.map??null,color:n.color.clone().multiplyScalar(t===`character`?.38:.5),transparent:n.transparent,opacity:n.opacity,alphaTest:n.alphaTest,side:n.side,roughness:t===`character`?.92:.6,metalness:t===`character`?0:.25}),r.name=n.name??``,n.dispose()}else{let t=e;if(!t||!(`envMapIntensity`in t))return e;r=t}if(t===`character`)return r.envMapIntensity=.45,r.metalness>.3&&(r.metalness=0),r;if(r.transparent)return r.envMapIntensity=.42,r.emissive&&r.emissive.setScalar(Math.max(r.emissive.r,.06)),r;if(r.metalness>=.5)return r.envMapIntensity=.85,r;if(r.isMeshPhysicalMaterial){let e=r;return e.clearcoat=.35,e.clearcoatRoughness=.4,e.envMapIntensity=.7,e.needsUpdate=!0,e}let i=new m({color:r.color,map:r.map,normalMap:r.normalMap,roughnessMap:r.roughnessMap,aoMap:r.aoMap,emissive:r.emissive,emissiveMap:r.emissiveMap,emissiveIntensity:r.emissiveIntensity,roughness:Math.min(r.roughness,.55),metalness:r.metalness,clearcoat:.35,clearcoatRoughness:.4});return i.name=r.name,i.side=r.side,r.dispose(),i};n.material=Array.isArray(n.material)?n.material.map(r):r(n.material)}),this.dirty=!0}getDebugState(){return{blocks:this.blocks.size,agents:[...this.agents.values()].map(e=>({agentId:e.agentId,name:e.name,role:e.role,channelId:e.channelId,state:e.state,progress:e.progress,x:Math.round(e.root.position.x),y:Math.round(e.root.position.z),visible:!0,draggable:!0,auraColor:e.colorNum,behavior:e.behavior.mode,targetId:e.behavior.targetId,homeX:Math.round(e.homeX),homeY:Math.round(e.homeZ),textureKey:e.textureKey,modelRef:e.modelRef,decorated:!e.channelId,range:e.range?{x:Math.round(e.range.x),z:Math.round(e.range.z),radiusX:Math.round(e.range.radiusX),radiusZ:Math.round(e.range.radiusZ),shape:e.range.shape}:null,bubbleText:e.bubbleText,anim:e.animState})),bubbles:this.dbgBubbles.slice(-8),activity:this.lastActivity,player:{x:Math.round(this.camera.position.x),y:Math.round(this.camera.position.z)}}}getMinimapState(){let e=e=>e===`alarm`?16739179:e===`offline`?8689317:e===`running`?3530912:16172115;return{world:{w:D,h:N},blocks:[...this.blocks.values()].map(e=>({x:e.x/D,y:e.z/N,color:e.color,name:e.name,shape:e.shape,rx:e.radiusX/D,rz:e.radiusZ/N,rot:e.rotationY})),agents:[...this.agents.values()].map(e=>({x:e.root.position.x/D,y:e.root.position.z/N,color:e.colorNum,busy:e.state===`busy`})),devices:[...this.deviceNodes.values()].map(t=>({twinId:t.twinId,x:t.root.position.x/D,y:t.root.position.z/N,color:e(t.state),state:t.state,daq:t.modelRef.startsWith(`daq-`)||t.modelRef.includes(`daq`),bound:!1})),player:{x:this.camTarget.x/D,y:this.camTarget.z/N}}}getRecentActivity(){return[...this.recentActivity]}updateDeviceNode(e,t,n){let r=this.deviceNodes.get(e);r&&(t&&(r.state=t,r.updateRing()),n&&(r.telemetry={...r.telemetry,...n}),this.dirty=!0)}renameDevice(e,t){let n=this.deviceNodes.get(e);!n||!t.trim()||t.trim()===n.name||this.renameDeviceSprite(n,t)}swapDeviceModel(e,t){let n=this.deviceNodes.get(e);n&&this.swapDeviceModelSprite(n,t)}getDeviceName(e){return this.deviceNodes.get(e)?.name??``}getDeviceModelRef(e){return this.deviceNodes.get(e)?.modelRef??``}async removeDevice(e){if(this.deviceNodes.get(e)){if(this.pendingDeviceCreates.has(e)){this.cancelledDeviceCreates.add(e),this.removeDeviceNode(e);return}try{await this.devices?.remove?.(e)}catch{}this.removeDeviceNode(e)}}getDeviceNodes(){return[...this.deviceNodes.values()].map(e=>({twinId:e.twinId,name:e.name,x:Math.round(e.root.position.x),z:Math.round(e.root.position.z),topY:Math.round(this.deviceTopY(e)),state:e.state,telemetry:e.telemetry}))}setAnimPref(e,t){let n=this.agents.get(e);if(!n||n.clips.length===0||!n.mixer)return;let r=n.clips.findIndex(e=>e.name.toLowerCase().includes(t.toLowerCase()));r<0&&(r=t===`work`?n.clips.length-1:t===`walk`?Math.min(1,n.clips.length-1):0);let i=n.clips[r];i&&(n.mixer.stopAllAction(),n.mixer.clipAction(i).reset().play())}getAgentModel(e){return this.agents.get(e)?.modelRef??null}getAgentName(e){return this.agents.get(e)?.name??e.slice(0,8)}getAgentClips(e){let t=this.agents.get(e);return t?t.clips.map(e=>({name:e.name,duration:Math.round(e.duration*10)/10})):[]}pickAt(e,t){let n=null;for(let r of this.agents.values()){let i=Math.hypot(r.root.position.x-e,r.root.position.z-t);i<90&&(!n||i<n.d)&&(n={kind:`agent`,id:r.agentId,d:i})}for(let r of this.deviceNodes.values()){let i=Math.hypot(r.root.position.x-e,r.root.position.z-t);i<90&&(!n||i<n.d)&&(n={kind:`device`,id:r.twinId,d:i})}return n?{kind:n.kind,id:n.id}:null}pickChannel(e,t){for(let n of this.blocks.values()){let r={channelId:n.channelId,x:n.x,z:n.z,radiusX:n.radiusX,radiusZ:n.radiusZ,shape:n.shape,rotationY:n.rotationY};if(me(r,e,t))return n.channelId}return null}pickChannelEdge(e,t){for(let n of this.blocks.values()){let r=fe(n,e,t),i=Math.hypot(r.x/n.radiusX,r.z/n.radiusZ),a=42/Math.min(n.radiusX,n.radiusZ);if(Math.abs(i-1)<=a)return{cid:n.channelId,rx0:n.radiusX,rz0:n.radiusZ,rd0:i}}return null}setSelected(e){if((!e||e.kind!==`agent`||e.id!==this.rangeDrawAgent)&&this.cancelRangeDraw(),this.selected=e,this.tControls&&(e?.kind===`device`&&this.mode===`edit`&&this.deviceNodes.has(e.id)?this.tControls.attach(this.deviceNodes.get(e.id).root):this.tControls.detach()),this.refreshAgentRangeLines(),this.refreshAgentRangeHandles(),!e){this.emit(`select`,null);return}let t=this.scalables.get(`${e.kind}:${e.id}`);t&&this.emit(`select`,{kind:e.kind,id:e.id,scale:t.userScale,rotation:Math.round(this.getModelRotation(e.id,e.kind)*10)/10})}setModelScale(e,t,n){let r=n??(this.scalables.has(`device:${e}`)?`device`:`agent`),i=`${r}:${e}`,a=this.scalables.get(i);if(a){if(a.userScale=t,a.holder.scale.setScalar(a.userScale),r===`device`){let t=this.deviceNodes.get(e);t&&(t.topYCache=null)}this.dirty=!0}}getSelectedScale(){if(!this.selected)return null;let e=this.scalables.get(`${this.selected.kind}:${this.selected.id}`);return e?{kind:this.selected.kind,id:this.selected.id,scale:e.userScale,rotation:Math.round(this.getModelRotation(this.selected.id,this.selected.kind)*10)/10}:null}registerScalable(e,t,n,r){let i=r===void 0?typeof localStorage<`u`?Number(localStorage.getItem(`town.scale.${e}:${t}`)??1):1:r,a=Number.isFinite(i)&&i>0?i:1;if(this.scalables.set(`${e}:${t}`,{kind:e,id:t,userScale:a,holder:n}),n.scale.setScalar(a),e===`device`){let e=this.deviceNodes.get(t);e&&(e.topYCache=null)}}persistScale(e,t){let n=this.scalables.get(`${e}:${t}`);!n||typeof localStorage>`u`||(localStorage.setItem(`town.scale.${e}:${t}`,String(n.userScale)),e===`device`&&this.persistDeviceTransform(t))}setMode(e){if(this.mode!==e){this.mode=e,e===`browse`&&(this.pointerDrag&&this.endPointerDrag(),this.cancelRangeDraw(),this.setSelected(null),this.tControls?.detach()),this.refreshChannelHandles(),this.refreshAgentRangeHandles();for(let e of this.agents.values())e.renderRangeLine();this.dirty=!0}}getMode(){return this.mode}setSnap(e){this.snapEnabled=e}getSnap(){return this.snapEnabled}tryStartPointerDrag(e,t){if(this.mode!==`edit`||this.isGizmoBusy())return!1;let n=this.screenToWorld(e,t),r=this.pickAgentRangeHandle(n.x,n.z);if(r)return this.pointerDrag={kind:`agentRangeResize`,id:r.agentId,handle:r.handle},this.emitSaveState(`dirty`),!0;let i=this.pickResizeHandle(n.x,n.z);if(i)return this.pointerDrag={kind:`resize`,id:i.cid,handle:i.handle},this.setSelected(null),this.emitSaveState(`dirty`),!0;if(this.rangeDrawAgent)return this.pointerDrag={kind:`rangeDraw`,id:this.rangeDrawAgent,x0:n.x,z0:n.z},this.rangeDrawPreviewState=null,!0;let a=this.pickAt(n.x,n.z);if(a){if(a.kind===`device`)return this.deviceNodes.has(a.id)?(this.pointerDrag=a,this.setSelected(a),this.emitSaveState(`dirty`),!0):!1;let e=this.agents.get(a.id);return!e||!e.channelId?!1:(e.bubbleTimer&&=(clearTimeout(e.bubbleTimer),null),e.dragging=!0,e.behavior.mode=`idle`,e.behavior.targetId=null,this.pointerDrag=a,this.setSelected(a),this.emitSaveState(`dirty`),!0)}let o=this.hitAgentRangeBoundary(n.x,n.z);if(o&&o.range)return this.pointerDrag={kind:`agentRange`,id:o.agentId,dx:o.range.x-n.x,dz:o.range.z-n.z},this.setSelected({kind:`agent`,id:o.agentId}),this.emitSaveState(`dirty`),!0;let s=this.pickChannelEdge(n.x,n.z);if(s)return this.pointerDrag={kind:`channelEdge`,id:s.cid,rx0:s.rx0,rz0:s.rz0,rd0:s.rd0},this.setSelected(null),this.selectChannel(s.cid),this.emitSaveState(`dirty`),!0;if(this.pickBeacon(n.x,n.z))return!1;let c=this.pickChannel(n.x,n.z);if(c){let e=this.blocks.get(c);return e?(this.pointerDrag={kind:`channel`,id:c,dx:e.x-n.x,dz:e.z-n.z},this.setSelected(null),this.selectChannel(c),this.emitSaveState(`dirty`),!0):!1}return!1}isPointerDragging(){return this.pointerDrag!==null}snapWorld(e){return this.snapEnabled?Math.round(e/16)*16:Math.round(e*10)/10}movePointerDrag(e,t){if(!this.pointerDrag)return;let n=this.screenToWorld(e,t),r=this.snapWorld(n.x),i=this.snapWorld(n.z),a=this.pointerDrag;if(a.kind===`device`){let e=this.deviceNodes.get(a.id);e&&(e.root.position.x=r,e.root.position.z=i,this.dirty=!0)}else if(a.kind===`agent`){let e=this.agents.get(a.id);if(e){let t=r,n=i,a=this.blockLayout(e.channelId);if(a){let e=A(a,r,i,20);t=e.x,n=e.z}e.root.position.x=t,e.root.position.z=n,this.dirty=!0}}else if(a.kind===`rangeDraw`){let e=this.agents.get(a.id);if(!e)return;let t=this.blockLayout(e.channelId),r=n.x,i=n.z;if(t){let e=A(t,r,i,12);r=e.x,i=e.z}this.rangeDrawPreviewState={x0:a.x0,z0:a.z0,x1:r,z1:i},this.updateRangeDrawPreview(a.x0,a.z0,r,i),this.dirty=!0}else if(a.kind===`agentRange`){let e=this.agents.get(a.id);if(!e||!e.range)return;let t=r+a.dx,n=i+a.dz;e.range={...e.range,x:t,z:n},e.renderRangeLine(),this.refreshAgentRangeHandles(),this.dirty=!0}else if(a.kind===`agentRangeResize`){let e=this.agents.get(a.id);if(!e||!e.range)return;e.range=this.applyAgentRangeResize(e.range,a.handle,n.x,n.z),e.renderRangeLine(),this.refreshAgentRangeHandles(),this.autoFrameTo(e.range.radiusX,e.range.radiusZ),this.dirty=!0}else if(a.kind===`channel`){let e=this.blocks.get(a.id);e&&this.applyBlockMove(e,r+a.dx,i+a.dz)}else if(a.kind===`resize`){let e=this.blocks.get(a.id);e&&this.applyResize(e,a.handle,n.x,n.z)}else if(a.kind===`channelEdge`){let e=this.blocks.get(a.id);if(e){let t=fe(e,r,i),n=Math.hypot(t.x/a.rx0,t.z/a.rz0),o=a.rd0>.05?n/a.rd0:1;e.radiusX=Math.max(60,Math.round(a.rx0*o)),e.radiusZ=Math.max(40,Math.round(a.rz0*o)),this.applyLayoutToBlock(e),this.autoFrameTo(e.radiusX,e.radiusZ)}}}endPointerDrag(){if(!this.pointerDrag)return;let e=this.pointerDrag;if(this.pointerDrag=null,e.kind===`device`)this.deviceNodes.get(e.id)&&this.persistDeviceTransform(e.id);else if(e.kind===`agent`){let t=this.agents.get(e.id);t&&(t.homeX=t.root.position.x,t.homeZ=t.root.position.z,t.dragging=!1,this.emitSaveState(`saving`),this.agentApi?.updateHome(e.id,t.channelId,t.homeX,t.homeZ).then(()=>this.emitSaveState(`saved`,Date.now())).catch(()=>this.emitSaveState(`error`)))}else if(e.kind===`rangeDraw`){let t=this.agents.get(e.id);if(t&&this.rangeDrawPreviewState){let n=this.rangeDrawPreviewState,r={x:(n.x0+n.x1)/2,z:(n.z0+n.z1)/2,radiusX:Math.abs(n.x1-n.x0)/2,radiusZ:Math.abs(n.z1-n.z0)/2,shape:`rect`,rotationY:0};if(r.radiusX>=40&&r.radiusZ>=40){t.range=r,t.renderRangeLine();let n=V(t.range,t.homeX,t.homeZ,0);(n.x!==t.homeX||n.z!==t.homeZ)&&(t.homeX=n.x,t.homeZ=n.z,t.root.position.x=n.x,t.root.position.z=n.z,this.agentApi?.updateHome(e.id,t.channelId,n.x,n.z).catch(()=>{})),this.emitSaveState(`saving`),this.agentApi?.updateRange(e.id,t.channelId,t.range).then(()=>this.emitSaveState(`saved`,Date.now())).catch(()=>this.emitSaveState(`error`))}}this.cancelRangeDraw(),this.refreshAgentRangeHandles(),this.emitAgentRangeChanged(e.id)}else if(e.kind===`agentRange`||e.kind===`agentRangeResize`){let t=this.agents.get(e.id);t&&t.range&&(this.emitSaveState(`saving`),this.agentApi?.updateRange(e.id,t.channelId,t.range).then(()=>this.emitSaveState(`saved`,Date.now())).catch(()=>this.emitSaveState(`error`))),this.refreshAgentRangeHandles(),this.emitAgentRangeChanged(e.id)}else if(this.blocks.get(e.id)){this.clampAgentsToBoundary(e.id),this.refreshChannelHandles();let t=this.getChannelLayout(e.id);t&&(this.emitSaveState(`saving`),this.channelApi?.save(e.id,t).then(()=>this.emitSaveState(`saved`,Date.now())).catch(()=>this.emitSaveState(`error`)),this.emit(`channelResized`,{channelId:e.id,layout:t}))}}rangeLineVisible(e){return this.mode===`edit`||this.selected?.kind===`agent`&&this.selected.id===e.agentId}emitAgentRangeChanged(e){this.emit(`agentRangeChanged`,{agentId:e})}refreshAgentRangeLines(){for(let e of this.agents.values())e.rangeLine&&(e.rangeLine.visible=this.rangeLineVisibleFor(e))}rangeLineVisibleFor(e){return this.mode===`edit`||this.selected?.kind===`agent`&&this.selected.id===e.agentId}refreshAgentRangeHandles(){for(let e of this.agentRangeHandles)e.mesh.visible=!1;if(this.mode!==`edit`||!this.selected||this.selected.kind!==`agent`)return;let e=this.agents.get(this.selected.id);if(!e||!e.range)return;let t=e.range.rotationY*Math.PI/180,n=this.boundaryHandlePoints(e.range);for(let r=0;r<this.agentRangeHandles.length&&r<n.length;r++){let[i,a]=n[r],o=e.range.x+i*Math.cos(t)-a*Math.sin(t),s=e.range.z+i*Math.sin(t)+a*Math.cos(t);this.agentRangeHandles[r].agentId=e.agentId,this.agentRangeHandles[r].mesh.position.set(o,1.2,s),this.agentRangeHandles[r].mesh.visible=!0}}pickAgentRangeHandle(e,t){if(this.mode!==`edit`)return null;for(let n of this.agentRangeHandles)if(n.mesh.visible&&Math.hypot(n.mesh.position.x-e,n.mesh.position.z-t)<40)return{agentId:n.agentId,handle:n.handle};return null}hitAgentRangeBoundary(e,t){if(this.mode===`edit`){for(let n of this.agents.values())if(!(!n.range||!n.channelId)&&de(n.range,e,t)<26)return n}}applyAgentRangeResize(e,t,n,r){let i=-e.rotationY*Math.PI/180,a=Math.cos(i),o=Math.sin(i),s=n-e.x,c=r-e.z,l=s*a-c*o,u=s*o+c*a,d;return d=e.shape===`rect`?{...e,radiusX:Math.max(30,Math.abs(l)),radiusZ:Math.max(30,Math.abs(u))}:t===0||t===1?{...e,radiusX:Math.max(30,Math.abs(l))}:{...e,radiusZ:Math.max(30,Math.abs(u))},d}updateRangeDrawPreview(e,t,n,r){let i=Math.min(e,n),a=Math.max(e,n),o=Math.min(t,r),s=Math.max(t,r),c=(i+a)/2,l=(o+s)/2,u=Math.max(8,(a-i)/2),d=Math.max(8,(s-o)/2);if(!this.rangeDrawLine){let e=$(`rect`,1,1,4311284);e.material.opacity=.95,e.position.y=.5,this.scene.add(e),this.rangeDrawLine=e}this.rangeDrawLine.position.set(c,.5,l),this.rangeDrawLine.rotation.y=0;let f=new w().setFromPoints([new C(-u,0,-d),new C(u,0,-d),new C(u,0,d),new C(-u,0,d)]);this.rangeDrawLine.geometry.dispose(),this.rangeDrawLine.geometry=f}cancelRangeDraw(){this.rangeDrawAgent===null&&!this.rangeDrawLine||(this.rangeDrawAgent=null,this.rangeDrawPreviewState=null,this.rangeDrawLine&&=(this.scene.remove(this.rangeDrawLine),null),this.dirty=!0)}startRangeDraw(e){let t=this.agents.get(e);!t||!t.channelId||this.mode!==`edit`||(this.setSelected({kind:`agent`,id:e}),this.cancelRangeDraw(),this.rangeDrawAgent=e,this.rangeDrawPreviewState=null,this.refreshAgentRangeHandles(),this.dirty=!0)}isRangeDrawing(e){return this.rangeDrawAgent?e===void 0||this.rangeDrawAgent===e:!1}debugAdvanceReceiver(e){let t=this.receivers.get(e);t&&(t.currentUntil=0)}getAgentRange(e){return this.agents.get(e)?.range??null}setAgentRangeScene(e,t){let n=this.agents.get(e);if(!n)return;n.range||={x:n.homeX,z:n.homeZ,radiusX:120,radiusZ:90,shape:`ellipse`,rotationY:0},n.range={...n.range,...t};let r=V(n.range,n.homeX,n.homeZ,0);(r.x!==n.homeX||r.z!==n.homeZ)&&(n.homeX=r.x,n.homeZ=r.z,n.root.position.x=r.x,n.root.position.z=r.z,this.rangeHomeMoved={agentId:e,x:r.x,z:r.z}),n.renderRangeLine(),this.refreshAgentRangeHandles(),this.dirty=!0}commitAgentRange(e){let t=this.agents.get(e);if(t){if(this.rangeHomeMoved?.agentId===e){let{x:n,z:r}=this.rangeHomeMoved;this.rangeHomeMoved=null,this.agentApi?.updateHome(e,t.channelId,n,r).catch(()=>{})}this.emitSaveState(`saving`),this.agentApi?.updateRange(e,t.channelId,t.range).then(()=>this.emitSaveState(`saved`,Date.now())).catch(()=>this.emitSaveState(`error`)),this.emitAgentRangeChanged(e)}}clearAgentRange(e){let t=this.agents.get(e);t&&(t.rangeLine&&=(this.scene.remove(t.rangeLine),null),t.range=null,this.rangeHomeMoved=null,this.refreshAgentRangeHandles(),this.emitSaveState(`saving`),this.agentApi?.updateRange(e,t.channelId,null).then(()=>this.emitSaveState(`saved`,Date.now())).catch(()=>this.emitSaveState(`error`)),this.emitAgentRangeChanged(e),this.dirty=!0)}setModelRotation(e,t,n){if((n??(this.deviceNodes.has(e)?`device`:`agent`))===`device`){let n=this.deviceNodes.get(e);if(!n)return;n.root.rotation.y=t*Math.PI/180}else{let n=this.agents.get(e);if(!n)return;n.root.rotation.y=t*Math.PI/180}this.dirty=!0}getModelRotation(e,t){if((t??(this.deviceNodes.has(e)?`device`:`agent`))===`device`){let t=this.deviceNodes.get(e);return t?T.radToDeg(t.root.rotation.y):0}let n=this.agents.get(e);return n?T.radToDeg(n.root.rotation.y):0}emitSaveState(e,t=Date.now()){this.emit(`saveState`,{state:e,at:t})}persistDeviceTransform(e){let t=this.deviceNodes.get(e);if(!t||!this.devices?.update||this.pendingDeviceCreates.has(e))return;let n=this.scalables.get(`device:${e}`),r=this.pendingSaveTimers.get(e);r&&clearTimeout(r),this.pendingSaveTimers.set(e,setTimeout(()=>{this.pendingSaveTimers.delete(e),!(this.disposed||this.pendingDeviceCreates.has(e))&&(this.emitSaveState(`saving`),this.devices.update(e,{posX:Math.round(t.root.position.x*10)/10,posZ:Math.round(t.root.position.z*10)/10,rotationY:Math.round(T.radToDeg(t.root.rotation.y)*10)/10,scale:n?Math.round(n.userScale*100)/100:void 0}).then(()=>this.emitSaveState(`saved`,Date.now())).catch(()=>this.emitSaveState(`error`)))},350)),this.emitSaveState(`dirty`)}persistAllDevices(){for(let e of[...this.deviceNodes.keys()])this.persistDeviceTransform(e)}pendingSaveTimers=new Map;syncDevices(e){let t=new Set(e.map(e=>e.id));for(let e of[...this.deviceNodes.keys()])!t.has(e)&&!this.pendingDeviceCreates.has(e)&&this.removeDeviceNode(e);for(let t of e){let e=this.deviceNodes.get(t.id);if(!e){let n=[...this.pendingDeviceCreates.entries()].find(([,e])=>e.name===t.name&&e.modelRef===t.modelRef);n&&(this.adoptDeviceNode(n[0],t.id),e=this.deviceNodes.get(t.id))}if(!e){(t.kind===`daq`||(t.modelRef??``).startsWith(`daq-`)||(t.modelRef??``).startsWith(`dcw-`)||this.resolveDeviceModel(t.modelRef)?.file)&&typeof t.posX==`number`&&typeof t.posZ==`number`?this.recreateDeviceNode(t):this.pendingDeviceTwins.set(t.id,t);continue}if(this.pendingDeviceTwins.delete(t.id),e.applyTwin(t),this.pointerDrag?.id!==t.id){let n=typeof t.posX==`number`&&t.posX!==e.root.position.x||typeof t.posZ==`number`&&t.posZ!==e.root.position.z;typeof t.posX==`number`&&(e.root.position.x=t.posX),typeof t.posZ==`number`&&(e.root.position.z=t.posZ),typeof t.rotationY==`number`&&(e.root.rotation.y=t.rotationY*Math.PI/180);let r=this.scalables.get(`device:${t.id}`);typeof t.scale==`number`&&r&&(r.userScale=t.scale,r.holder.scale.setScalar(t.scale)),n&&(this.dirty=!0)}this.dirty=!0}this.daqLinksWanted.length&&this.syncDaqLinks(this.daqLinksWanted);for(let e of[...this.pendingDeviceTwins.keys()])t.has(e)||this.pendingDeviceTwins.delete(e)}resolveDeviceModel(e){let t=this.modelsById.get(e);if(t?.file)return{id:t.id,file:t.file,hFactor:t.hFactor??1};for(let[t,n]of this.modelsById)if(!(n.kind!==`dev`||!n.file)&&(t===`dev-folder-${e}`||t.endsWith(`-${e}`)))return{id:t,file:n.file,hFactor:n.hFactor??1};return null}recreateDeviceNode(e){if(e.kind===`daq`||(e.modelRef??``).startsWith(`daq-`)||(e.modelRef??``).startsWith(`dcw-`)){this.recreateDaqNode(e);return}let t=this.resolveDeviceModel(e.modelRef),n=t?.file??``;if(!n)return;let r=typeof e.posX==`number`?e.posX:R,i=typeof e.posZ==`number`?e.posZ:B,a=new g;a.position.set(r,0,i),a.rotation.y=typeof e.rotationY==`number`?e.rotationY*Math.PI/180:0;let{ring:o,arc:s}=this.makeDeviceRing();a.add(o,s);let c=new g;a.add(c);let l=this.makeLabel(`⚙ ${e.name}`,r,60,i);c.userData.modelFile=n,this.scene.add(a);let u=new bt({twinId:e.id,name:e.name,modelRef:e.modelRef,root:a,holder:c,ring:o,label:l,state:e.state??`idle`,telemetry:e.telemetry??{}});u.host=this,u.arc=s,u.updateRing(),this.deviceNodes.set(e.id,u),this.registerScalable(`device`,e.id,c,typeof e.scale==`number`?e.scale:void 0),this.loadGltfToGroup(n,c,192*(t?.hFactor??1)),this.dirty=!0}makeDaqMesh(e){let t=new g,n=new E({color:10465992,metalness:.85,roughness:.32}),r=new E({color:7636636,metalness:.35,roughness:.5}),i=new E({color:5596282,metalness:.4,roughness:.55}),a=new E({color:2831426,metalness:.7,roughness:.45}),o=new E({color:14674162,metalness:1,roughness:.14}),s=new E({color:12941893,metalness:.9,roughness:.35}),c=new z({color:4311284});c.color.multiplyScalar(5);let l=(e,t,n,r)=>{let i=new h(new H(e*34,t*34,n*34),r);return i.castShadow=!0,i},u=(e,t,n,r,i=20)=>{let a=new h(new _(e*34,t*34,n*34,i),r);return a.castShadow=!0,a},d=(e,n,r,i)=>(e.position.set(n*34,r*34,i*34),t.add(e),e);d(u(.17,.22,.09,a),0,.045,0),d(u(.028,.028,.95,n,10),0,.55,0);let f=new h(new W(3.06,.68,10,28),new z({color:3530912}));if(f.material.color.multiplyScalar(6),f.rotation.x=Math.PI/2,t.add(f),f.position.y=34.68,e.endsWith(`temp-tc`)){d(l(.24,.32,.24,r),0,1.2,0);let e=d(u(.014,.014,.4,n,8),.14,.85,0);e.rotation.z=-.5}else if(e.endsWith(`pressure-tx`))d(u(.13,.16,.3,n),0,1.22,0),d(u(.12,.12,.05,a),0,1.4,0),d(l(.05,.05,.2,s),0,1.1,.2);else if(e.endsWith(`tension-cell`)){d(l(.34,.2,.2,r),0,1.25,0);for(let e of[-.11,.11]){let t=d(u(.06,.06,.26,o),e,1.25,0);t.rotation.x=Math.PI/2}}else if(e.endsWith(`line-encoder`)){d(l(.34,.05,.05,n),.14,1.28,0);let e=d(u(.16,.16,.05,a),.32,1.28,0);e.rotation.z=Math.PI/2,d(new h(new W(.1*34,.51,10,26),f.material),.35,1.28,0)}else if(e.endsWith(`vision-cam`)){d(l(.28,.2,.36,i),0,1.3,0);let e=d(u(.07,.09,.14,a),0,1.3,.24);e.rotation.x=Math.PI/2,d(new h(new W(2.55,.012*34,10,24),f.material),0,1.3,.3)}else e.endsWith(`power-meter`)&&(d(l(.32,.42,.18,r),0,1.3,0),d(u(.012,.012,.42,n,8),.1,1.7,0),d(new h(new M(.028*34,10,8),f.material),.1,1.92,0),d(l(.2,.06,.02,c),0,1.42,.1));return{group:t,ledRing:f}}recreateDaqNode(e){let t=typeof e.posX==`number`?e.posX:R,n=typeof e.posZ==`number`?e.posZ:B,r=new g;r.position.set(t,0,n),r.rotation.y=typeof e.rotationY==`number`?e.rotationY*Math.PI/180:0;let{group:i,ledRing:a}=this.makeDaqMesh(e.modelRef);r.add(i);let o=new h(new k(16,21,36),new z({color:3530912,transparent:!0,opacity:.5,side:2,depthWrite:!1}));o.rotation.x=-Math.PI/2,o.position.y=.35,r.add(o);let s=new h(new k(24,34,48),new z({color:3530912,transparent:!0,opacity:.16,side:2,depthWrite:!1,blending:2}));s.rotation.x=-Math.PI/2,s.position.y=.28,r.add(s);let c=e.lineColor||`#35e0a0`,l=this.makeLabel(e.name,t,62,n,c);this.scene.add(r);let u=new bt({twinId:e.id,name:e.name,modelRef:e.modelRef,root:r,holder:r,ring:o,label:l,state:e.state??`running`,telemetry:e.telemetry??{}});u.host=this,u.lineColor=e.lineColor??``,u.applyLine=e=>{let t=new F(e||`#35e0a0`);o.material.color.copy(t),s.material.color.copy(t),a.material.color.copy(t).multiplyScalar(6),this.scene.remove(l),l.material.dispose();let n=this.makeLabel(u.name,r.position.x,62,r.position.z,e||`#35e0a0`);u.label=n,this.scene.add(n),this.dirty=!0},e.lineColor&&u.applyLine(e.lineColor),u.updateRing(),this.deviceNodes.set(e.id,u),this.daqLedRings.set(e.id,a),this.registerScalable(`device`,e.id,r,typeof e.scale==`number`?e.scale:void 0),this.dirty=!0}removeDeviceNode(e){let t=this.deviceNodes.get(e);t&&(this.scene.remove(t.root),this.scene.remove(t.label),this.disposeDeviceAssets(t),this.selected?.kind===`device`&&this.selected.id===e&&this.setSelected(null),this.scalables.delete(`device:${e}`),this.deviceNodes.delete(e),this.daqLedRings.delete(e),this.daqLinkSig=``,this.filmWebSig=``,this.dirty=!0)}deviceTopY(e){if(e.topYCache!=null)return e.topYCache;let t=new o().setFromObject(e.holder),n=Number.isFinite(t.max.y)?Math.max(40,t.max.y):64;return e.topYCache=n,n}syncDaqLinks(e){this.daqLinksWanted=e;let t=e.filter(e=>this.deviceNodes.has(e.daqId)&&this.deviceNodes.has(e.deviceId)),n=t.map(e=>`${e.daqId}>${e.deviceId}`).sort().join(`|`);if(n!==this.daqLinkSig){this.daqLinkSig=n;for(let e of this.daqLinks)this.daqLinkGroup.remove(e.line),this.daqLinkGroup.remove(e.pulse),e.line.geometry.dispose();this.daqLinks=[];for(let e of t){let t=this.deviceNodes.get(e.daqId),n=this.deviceNodes.get(e.deviceId),r=new C(t.root.position.x,42,t.root.position.z),i=new C(n.root.position.x,this.deviceTopY(n)+6,n.root.position.z),o=r.clone().add(i).multiplyScalar(.5);o.y=Math.max(r.y,i.y)+42;let s=new Ce(r,o,i),c=new w().setFromPoints(s.getPoints(28)),l=new a(c,new f({color:3530912,transparent:!0,opacity:.55,dashSize:8,gapSize:5}));l.computeLineDistances();let u=new h(new M(2.6,10,8),new z({color:4311284}));u.material.color.multiplyScalar(5),this.daqLinkGroup.add(l,u),this.daqLinks.push({...e,line:l,pulse:u,curve:s,pt:Math.random(),ptSig:``})}this.dirty=!0}}static _lkA=new C;static _lkB=new C;static _lkM=new C;refreshDaqLinks(){for(let e of this.daqLinks){let n=this.deviceNodes.get(e.daqId),r=this.deviceNodes.get(e.deviceId);if(!n||!r)continue;let i=this.deviceTopY(r)+6,a=`${Math.round(n.root.position.x)},${Math.round(n.root.position.z)},${Math.round(r.root.position.x)},${Math.round(r.root.position.z)},${Math.round(i)}`;if(a===e.ptSig)continue;e.ptSig=a;let o=t._lkA.set(n.root.position.x,42,n.root.position.z),s=t._lkB.set(r.root.position.x,i,r.root.position.z),c=t._lkM.copy(o).add(s).multiplyScalar(.5);c.y=Math.max(o.y,s.y)+42,e.curve.v0.copy(o),e.curve.v1.copy(c),e.curve.v2.copy(s);let l=e.curve.getPoints(28);e.line.geometry.setFromPoints(l),e.line.computeLineDistances()}}isLineDevice(e){let t=e.toLowerCase();return/extruder|caster|mdo|tdo|winder/.test(t)}rebuildFilmWeb(){let e=[...this.deviceNodes.values()].filter(e=>this.isLineDevice(e.modelRef)&&!e.modelRef.startsWith(`daq-`)).sort((e,t)=>e.root.position.x-t.root.position.x),t=e.map(e=>`${e.twinId}:${Math.round(e.root.position.x)},${Math.round(e.root.position.z)}`).join(`|`);if(t!==this.filmWebSig){for(this.filmWebSig=t;this.filmWebGroup.children.length;){let e=this.filmWebGroup.children[0];this.filmWebGroup.remove(e),e.geometry.dispose()}this.filmWebMat||=new E({color:11196671,metalness:.1,roughness:.35,transparent:!0,opacity:.28,emissive:2845583,emissiveIntensity:.25,side:2,depthWrite:!1});for(let t=0;t<e.length-1;t++){let n=e[t].root.position,r=e[t+1].root.position,i=Math.abs(r.x-n.x)-110;if(i<30)continue;let a=new h(new H(i,1.2,46),this.filmWebMat);a.position.set((n.x+r.x)/2,48,(n.z+r.z)/2),this.filmWebGroup.add(a)}this.dirty=!0}}loop(){let e=()=>{if(this.disposed)return;this.raf=requestAnimationFrame(e);let t=this.clock.getDelta();if(this.frameBudgetMs>0){if(this.frameAcc+=t*1e3,this.frameAcc<this.frameBudgetMs-.5)return;this.frameAcc=0}let n=Math.min(t,.1),r=this.clock.elapsedTime;this.drainReceivers(performance.now());for(let e of this.agents.values())e.state!==`stopped`&&!e.dragging&&e.update(n);for(let e of this.agents.values())e.mixer&&e.mixer.update(n);for(let e of this.blocks.values())e.beacon.rotation.y+=n*.4;for(let e of this.agents.values())if(e.nameSprite.position.set(e.root.position.x,48,e.root.position.z),e.bubble&&e.bubble.position.set(e.root.position.x,108+Math.max(0,e.model.scale.y-1)*22,e.root.position.z),e.auraMats.length){let t=.8+.2*Math.sin(r*2.2+e.auraPhase);for(let n of e.auraMats)n.opacity=n.userData.baseOp*t}for(let e of this.deviceNodes.values())e.label.position.set(e.root.position.x,60,e.root.position.z),e.arc?.visible&&(e.arc.rotation.z+=n*1.6);for(let e of this.daqLedRings.values()){e.rotation.z+=n*1.2;let t=1+Math.sin(r*3.2)*.08;e.scale.setScalar(t)}if(this.daqLinks.length){this.dirty&&this.refreshDaqLinks();for(let e of this.daqLinks)e.pt=(e.pt+n*.3)%1,e.pulse.position.copy(e.curve.getPoint(e.pt))}if(this.dirty&&this.rebuildFilmWeb(),this.selRing){let e=this.selected,t=0,r=0,i=0;if(e?.kind===`agent`){let n=this.agents.get(e.id);n&&(t=n.root.position.x,r=n.root.position.z,i=46*Math.max(.6,n.model.scale.y))}else if(e?.kind===`device`){let n=this.deviceNodes.get(e.id);n&&(t=n.root.position.x,r=n.root.position.z,i=Math.max(34,this.deviceTopY(n)*.42))}this.selRing.visible=i>0,i>0&&(this.selRing.position.set(t,.5,r),this.selRing.scale.setScalar(i),this.selRing.rotation.z+=n*.9)}let i=this.rafAnims;this.rafAnims=[];for(let e of i)e();let a=1-Math.exp(-n*7.2);this.autoDolly!==null&&(this.dolly+=(this.autoDolly-this.dolly)*a,Math.abs(this.autoDolly-this.dolly)<.01&&(this.autoDolly=null));let o=1-Math.exp(-n*4.8);for(let e of[`yaw`,`pitch`,`radius`])this.viewCur[e]+=(this.viewTarget[e]-this.viewCur[e])*o;this.autoOrbit&&!this.pointerDrag&&(this.viewCur.yaw-=n*.156,this.viewTarget.yaw=this.viewCur.yaw);let s=this.viewCur.radius*this.dolly,c=Math.cos(this.viewCur.pitch);this.camera.position.set(this.camTarget.x+s*c*Math.sin(this.viewCur.yaw),20+s*Math.sin(this.viewCur.pitch),this.camTarget.z+s*c*Math.cos(this.viewCur.yaw)),this.camera.lookAt(this.camTarget.x,20,this.camTarget.z);let l=Math.max(.05,1.2*this.dolly),u=16e3*this.dolly;(Math.abs(this.camera.near-l)>.005||Math.abs(this.camera.far-u)>1)&&(this.camera.near=l,this.camera.far=u,this.camera.updateProjectionMatrix()),this.skyDome&&(this.skyDome.position.set(this.camTarget.x,0,this.camTarget.z),this.skyDome.scale.setScalar(Math.max(1,this.dolly*1.3))),this.ground.position.set(this.camTarget.x,0,this.camTarget.z);let d=this.ground.material.map;d&&d.offset.set(this.camTarget.x/(D*16/d.repeat.x),-this.camTarget.z/(N*16/d.repeat.y));let f=this.scene.fog;f instanceof p&&(f.near=1400*this.dolly,f.far=8800*this.dolly);let m=this.keyLight.shadow.camera,h=1600*Math.max(1,this.dolly);Math.abs(m.right-h)>1&&(m.left=-h,m.right=h,m.top=2300*Math.max(1,this.dolly),m.bottom=-2300*Math.max(1,this.dolly),m.updateProjectionMatrix(),this.renderer.shadowMap.needsUpdate=!0);let g=!1;for(let e of this.agents.values())if(e.mixer){g=!0;break}this.renderer.shadowMap.needsUpdate=this.dirty||g,this.composer.render(n),this.dirty=!1,this.frameCount+=1,this.fpsAccum+=n*1e3,this.fpsAccum>=1e3&&(this.emit(`fps`,this.frameCount),this.adaptQuality(this.frameCount),this.frameCount=0,this.fpsAccum=0)};e()}static Q_TIERS=[{scale:1,shadow:2048,bloom:!0},{scale:.8,shadow:2048,bloom:!0},{scale:.65,shadow:1024,bloom:!0},{scale:.55,shadow:1024,bloom:!1}];qTier=0;qLowStreak=0;qHighStreak=0;qualityMode=`auto`;static USER_QUALITY={ultra:{scale:1,shadow:2048,bloom:!0},hd:{scale:.8,shadow:2048,bloom:!0},normal:{scale:.6,shadow:1024,bloom:!0}};setQualityMode(e){if(this.qualityMode=e,e===`auto`){this.applyQuality();return}let n=t.USER_QUALITY[e];this.applyPixelRatio(Math.max(.5,this.baseDpr*n.scale));let r=this.keyLight;(r.shadow.mapSize.x??0)!==n.shadow&&(r.shadow.mapSize.set(n.shadow,n.shadow),r.shadow.map?.dispose(),r.shadow.map=null,this.renderer.shadowMap.needsUpdate=!0);let i=this.composer.passes.find(e=>e instanceof ht);i&&(i.enabled=n.bloom)}adaptQuality(e){if(this.qualityMode!==`auto`)return;let n=t.Q_TIERS.length-1;e<17&&this.qTier<n?++this.qLowStreak>=2&&(this.qTier++,this.applyQuality(),this.qLowStreak=0,this.qHighStreak=0):e>=27&&this.qTier>0?++this.qHighStreak>=4&&(this.qTier--,this.applyQuality(),this.qHighStreak=0,this.qLowStreak=0):(this.qLowStreak=0,this.qHighStreak=0)}applyQuality(){let e=t.Q_TIERS[this.qTier];this.applyPixelRatio(Math.max(.5,this.baseDpr*e.scale));let n=this.keyLight;(n.shadow.mapSize.x??0)!==e.shadow&&(n.shadow.mapSize.set(e.shadow,e.shadow),n.shadow.map?.dispose(),n.shadow.map=null,this.renderer.shadowMap.needsUpdate=!0);let r=this.composer.passes.find(e=>e instanceof ht);r&&(r.enabled=e.bloom)}applyPixelRatio(e){this.renderer.setPixelRatio(e),this.composer.setPixelRatio(e);let t=this.el.clientWidth||1100,n=this.el.clientHeight||700;this.renderer.setSize(t,n),this.composer.setSize(t,n)}disposeCanvasTextures(e){e&&e.traverse(e=>{let t=e.material,n=Array.isArray(t)?t:t?[t]:[];for(let e of n){let t=e;t.map&&t.map.image instanceof HTMLCanvasElement&&t.map.dispose(),e.dispose()}})}disposeDeviceAssets(e){e.ring.geometry.dispose(),e.ring.material.dispose(),e.arc&&(e.arc.geometry.dispose(),e.arc.material.dispose()),this.disposeCanvasTextures(e.label)}disposeAgentAssets(e){this.disposeCanvasTextures(e.nameSprite??null),this.disposeCanvasTextures(e.bubble??null),e.rangeLine?.geometry.dispose(),e.aura&&=(e.aura.traverse(e=>{let t=e;t.isMesh&&(t.geometry.dispose(),t.material.dispose())}),null)}resetAll(){for(let e of this.agents.values())this.scene.remove(e.root),e.nameSprite&&this.scene.remove(e.nameSprite),e.bubble&&this.scene.remove(e.bubble),e.rangeLine&&this.scene.remove(e.rangeLine),this.disposeAgentAssets(e);for(let e of this.blocks.values())this.scene.remove(e.platform),this.scene.remove(e.padRing),this.scene.remove(e.beacon),this.scene.remove(e.boundary),this.scene.remove(e.label),this.disposeCanvasTextures(e.label);for(let e of this.deviceNodes.values())this.scene.remove(e.root),this.scene.remove(e.label),this.disposeDeviceAssets(e);this.deviceNodes.clear(),this.scalables.clear(),this.receivers.clear(),this.pointerDrag=null,this.cancelRangeDraw(),this.selected=null,this.selectedChannel=null;for(let e of this.resizeHandles)e.mesh.visible=!1;for(let e of this.agentRangeHandles)e.mesh.visible=!1;this.agents.clear(),this.blocks.clear()}dispose(){this.disposed=!0,cancelAnimationFrame(this.raf),delete globalThis.__townScene3d;for(let e of this.pendingSaveTimers.values())clearTimeout(e);this.pendingSaveTimers.clear(),this.receivers.clear(),this.resizeOb?.disconnect(),this.resizeOb=null,this.tControls?.dispose(),this.tControls=null,this.composer?.dispose(),this.renderer.dispose(),this.renderer.domElement.parentElement===this.el&&this.renderer.domElement.remove()}};export{xt as TownScene3D};
@@ -0,0 +1 @@
1
+ import{E as e}from"./BSCpFtzG.js";import{k as t}from"./2LwEn9gX.js";import{h as n}from"./PQLnLxYe.js";var r=typeof document<`u`;function i(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function a(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&i(e.default)}var o=Object.assign;function s(e,t){let n={};for(let r in t){let i=t[r];n[r]=l(i)?i.map(e):e(i)}return n}var c=()=>{},l=Array.isArray;function u(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var d=/#/g,ee=/&/g,f=/\//g,p=/=/g,m=/\?/g,h=/\+/g,te=/%5B/g,ne=/%5D/g,g=/%5E/g,_=/%60/g,v=/%7B/g,y=/%7C/g,b=/%7D/g,re=/%20/g;function x(e){return e==null?``:encodeURI(``+e).replace(y,`|`).replace(te,`[`).replace(ne,`]`)}function ie(e){return x(e).replace(v,`{`).replace(b,`}`).replace(g,`^`)}function S(e){return x(e).replace(h,`%2B`).replace(re,`+`).replace(d,`%23`).replace(ee,`%26`).replace(_,"`").replace(v,`{`).replace(b,`}`).replace(g,`^`)}function ae(e){return S(e).replace(p,`%3D`)}function oe(e){return x(e).replace(d,`%23`).replace(m,`%3F`)}function se(e){return oe(e).replace(f,`%2F`)}function C(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var w=/\/$/,T=e=>e.replace(w,``);function E(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=P(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:C(o)}}function D(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function O(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function k(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&A(t.matched[r],n.matched[i])&&j(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function A(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function j(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!M(e[n],t[n]))return!1;return!0}function M(e,t){return l(e)?N(e,t):l(t)?N(t,e):e?.valueOf()===t?.valueOf()}function N(e,t){return l(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function P(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`){if(s===`..`)a>1&&a--;else break}return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var F={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},I=function(e){return e.pop=`pop`,e.push=`push`,e}({}),L=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function R(e){if(!e){if(r){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`}return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),T(e)}var z=/^[^#]+#/;function B(e,t){return e.replace(z,`#`)+t}function V(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var H=()=>({left:window.scrollX,top:window.scrollY});function U(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=V(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function W(e,t){return(history.state?history.state.position-t:-1)+e}var G=new Map;function K(e,t){G.set(e,t)}function ce(e){let t=G.get(e);return G.delete(e),t}function le(e){return typeof e==`string`||e&&typeof e==`object`}function ue(e){return typeof e==`string`||typeof e==`symbol`}var q=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),J=Symbol(``);q.MATCHER_NOT_FOUND,q.NAVIGATION_GUARD_REDIRECT,q.NAVIGATION_ABORTED,q.NAVIGATION_CANCELLED,q.NAVIGATION_DUPLICATED;function Y(e,t){return o(Error(),{type:e,[J]:!0},t)}function de(e,t){return e instanceof Error&&J in e&&(t==null||!!(e.type&t))}function fe(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(h,` `),i=r.indexOf(`=`),a=C(i<0?r:r.slice(0,i)),o=i<0?null:C(r.slice(i+1));if(a in t){let e=t[a];l(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function pe(e){let t=``;for(let n in e){let r=e[n];if(n=ae(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(l(r)?r.map(e=>e&&S(e)):[r&&S(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function me(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=l(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var he=Symbol(``),ge=Symbol(``),_e=Symbol(``),ve=Symbol(``),ye=Symbol(``);function be(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function X(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(Y(q.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):le(e)?c(Y(q.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function xe(e,t,n,r,o=e=>e()){let s=[];for(let c of e)for(let e in c.components){let l=c.components[e];if(!(t!==`beforeRouteEnter`&&!c.instances[e])){if(i(l)){let i=(l.__vccOpts||l)[t];i&&s.push(X(i,n,r,c,e,o))}else{let i=l();s.push(()=>i.then(i=>{if(!i)throw Error(`Couldn't resolve component "${e}" at "${c.path}"`);let s=a(i)?i.default:i;c.mods[e]=i,c.components[e]=s;let l=(s.__vccOpts||s)[t];return l&&X(l,n,r,c,e,o)()}))}}}return s}function Se(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>A(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>A(e,s))||i.push(s))}return[n,r,i]}var Z=(n,r)=>({default:()=>n?e(t,n===!0?{}:n,r):r.default?.()}),Ce=/(:\w+)\([^)]+\)/g,we=/(:\w+)[?+*]/g,Te=/:\w+/g;function Q(e){let t=e?.meta.key??e.path.replace(Ce,`$1`).replace(we,`$1`).replace(Te,t=>e.params[t.slice(1)]?.toString()||``);return typeof t==`function`?t(e):t}function Ee(e,t){return e===t||t===F?!1:Q(e)!==Q(t)||!e.matched.every((e,n)=>e.components&&e.components.default===t.matched[n]?.components?.default)}var De=/^[a-z][a-z0-9-]*$/i;function Oe(e,t){return e&&De.test(e)?e:t}function $(e){return Array.isArray(e)?e:[e]}function ke(e){let t=[];for(let n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?$(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?$(n.onBeforeLeave):void 0});return n(...t)}export{u as A,U as B,r as C,j as D,k as E,E as F,ge as G,D as H,ve as I,_e as L,R as M,me as N,A as O,fe as P,ye as R,l as S,ue as T,O as U,pe as V,be as W,Se as _,q as a,W as b,F as c,H as d,B as f,se as g,ie as h,Oe as i,c as j,he as k,s as l,C as m,Z as n,L as o,Y as p,Ee as r,I as s,ke as t,o as u,xe as v,de as w,X as x,ce as y,K as z};
@@ -0,0 +1 @@
1
+ import{C as e,G as t,H as n,Ht as ee,St as r,Wt as i,a,b as o,f as s,ft as c,g as l,h as u,lt as d,m as f,mt as p,nt as m,p as h,t as g,x as _}from"./BSCpFtzG.js";import{d as te}from"./PQLnLxYe.js";import{n as v}from"./uBbDCfTz.js";import{n as y}from"./BeIfu4N3.js";import{t as ne}from"./Z8k0uMSI.js";import{i as re,n as ie,r as b,t as x}from"./DSBfvCi5.js";import{t as ae}from"./Bsc69G4x.js";import{t as oe}from"./ByGNWgAr.js";import{i as se,n as ce,t as le}from"./DPDqAD1e.js";import{r as ue,t as de}from"./BFYNhG9S.js";import{t as fe}from"./DYWgGHNo.js";import{r as S}from"./W1E3-5ML.js";import{t as pe}from"./R_WxTozV2.js";import{t as me}from"./B6M2WJWm2.js";import{t as he}from"./C9f8QMp12.js";import{t as ge}from"./D8DDDzV62.js";import{t as C}from"./NIM0Wglj2.js";import{t as w}from"./CNs_Ozdc2.js";var _e={class:`page`},ve={class:`head`},ye={class:`sub`},be={class:`toolbar`},xe={key:0,class:`admin-note`},Se={class:`grid`},Ce={class:`card-head`},we={class:`name`},Te={class:`owner`},Ee={class:`members`},De={class:`member-name`},T={class:`member-harness`},E=[`onClick`],D=g(e({__name:`teams`,setup(e){let{t:g}=y();w({layout:`default`});let D=x(),O=C(),k=p([]),A=p([]),j=p([]),M=p(!1),N=async()=>{M.value=!0;try{let[e,t,n]=await Promise.all([D.listTeams(),D.listTemplates(),D.listChannels()]);k.value=e?.data??[],A.value=t?.data??[],j.value=n?.data??[]}finally{M.value=!1}};N();let P=p(`all`),F=s(()=>{let e=O.user?.id;switch(P.value){case`mine`:return k.value.filter(t=>t.ownerUserId===e);case`public`:return k.value.filter(e=>e.visibility===`public`);case`builtin`:return k.value.filter(e=>e.isBuiltin);default:return k.value}}),I=e=>!e.isBuiltin&&(e.ownerUserId===O.user?.id||O.isAdmin),L=e=>e.isBuiltin?{text:g(`teams.k3x23c018`),color:`default`,icon:`i-tabler-lock`}:e.visibility===`public`?{text:g(`teams.k3wv1t019`),color:`green`}:{text:g(`teams.k447jj020`),color:`default`},R=p(!1),z=c({name:``,description:``,visibility:`private`}),Oe=async()=>{if(!z.name.trim()){S.warning(g(`teams.k1bvcdo2021`));return}await D.createTeam({name:z.name.trim(),description:z.description||void 0,visibility:z.visibility}),S.success(g(`teams.k3n5hak022`)),R.value=!1,z.name=``,z.description=``,z.visibility=`private`,N()},ke=async(e,t)=>{try{await D.updateTeam(e.id,{visibility:t?`public`:`private`}),S.success(g(t?`teams.k1globhp023`:`teams.k1xxabaf024`)),N()}catch(e){S.error(e instanceof Error?e.message:String(e))}},B=p(!1),V=p(null),H=p(``),U=p(`worker`),Ae=e=>{V.value=e,H.value=``,U.value=`worker`,B.value=!0},je=async()=>{if(!V.value||!H.value){S.warning(g(`teams.k1kw4rtj025`));return}try{await D.addTeamMember(V.value.id,{agentId:H.value,role:U.value}),S.success(g(`teams.k3n5hzw026`)),B.value=!1,N()}catch(e){S.error(e instanceof Error?e.message:String(e))}},Me=async(e,t)=>{await D.removeTeamMember(e.id,t),N()},W=p(!1),G=p(null),K=p(``),q=p(!1),J=e=>{G.value=e,K.value=``,W.value=!0},Ne=async()=>{if(!G.value||!K.value){S.warning(`选择目标 Channel`);return}q.value=!0;try{let e=(await D.deployTeam(G.value.id,K.value))?.data?.agents?.length??0;S.success(g(`teams.kh90glh031`,{p0:e})),W.value=!1}catch(e){S.error(e instanceof Error?e.message:String(e))}finally{q.value=!1}},Pe=async e=>{await D.deleteTeam(e.id),S.success(g(`teams.k1oxjrxx027`)),N()};return v({title:()=>g(`titles.teams`)}),(e,s)=>{let c=ne,p=pe,g=ie,v=le,y=ge,x=ue,S=de,C=me,w=he,D=oe,N=re,Y=ce,X=se,Z=b,Q=fe,$=ae;return n(),l(`div`,_e,[h(`div`,ve,[h(`div`,null,[h(`h2`,null,`AgentTeam `+i(e.$t(`teams.k3svl8y028`)),1),h(`p`,ye,i(e.$t(`teams.k12gl4wn008`)),1)]),_(p,null,{default:m(()=>[_(c,{onClick:s[0]||=t=>(`navigateTo`in e?e.navigateTo:r(te))(`/workshop`)},{default:m(()=>[o(i(e.$t(`teams.krpx6qa009`)),1)]),_:1}),_(c,{type:`primary`,onClick:s[1]||=e=>R.value=!0},{default:m(()=>[o(i(e.$t(`teams.k1efmuyx002`)),1)]),_:1})]),_:1})]),h(`div`,be,[_(g,{value:r(P),"onUpdate:value":s[2]||=e=>d(P)?P.value=e:null,size:`small`,options:[{value:`all`,label:e.$t(`chips.chipAll`,{n:r(k).length})},{value:`mine`,label:e.$t(`chips.mine`)},{value:`public`,label:e.$t(`chips.public`)},{value:`builtin`,label:e.$t(`chips.builtin`)}]},null,8,[`value`,`options`]),r(O).isAdmin?(n(),l(`span`,xe,[s[13]||=h(`span`,{class:`i-tabler-shield-check`},null,-1),o(` `+i(e.$t(`teams.k1bpgi8h010`)),1)])):u(``,!0)]),_(w,{spinning:r(M)},{default:m(()=>[h(`div`,Se,[(n(!0),l(a,null,t(r(F),r=>(n(),l(`div`,{key:r.id,class:`card`},[h(`div`,Ce,[h(`span`,we,i(r.name),1),_(v,{color:L(r).color,class:`vis-tag`},{default:m(()=>[L(r).icon?(n(),l(`span`,{key:0,class:ee(L(r).icon)},null,2)):u(``,!0),o(i(L(r).text),1)]),_:2},1032,[`color`]),!r.isBuiltin&&I(r)?(n(),f(y,{key:0,checked:r.visibility===`public`,size:`small`,"checked-children":`公开`,"un-checked-children":`私有`,onChange:e=>ke(r,e===!0)},null,8,[`checked`,`onChange`])):u(``,!0),h(`span`,Te,i(r.ownerName??`-`),1),I(r)?(n(),f(C,{key:1},{overlay:m(()=>[_(S,null,{default:m(()=>[_(x,{onClick:e=>J(r)},{default:m(()=>[...s[14]||=[o(` 部署到 Channel… `,-1)]]),_:1},8,[`onClick`]),_(x,{danger:``,onClick:e=>Pe(r)},{default:m(()=>[o(i(e.$t(`teams.k1bpojhf011`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),default:m(()=>[s[15]||=h(`span`,{class:`i-tabler-dots op`},null,-1)]),_:2},1024)):(n(),f(c,{key:2,size:`small`,type:`text`,title:e.$t(`teams.kxheuf1001`),onClick:e=>J(r)},{default:m(()=>[o(i(e.$t(`teams.k48ja7012`)),1)]),_:1},8,[`title`,`onClick`]))]),h(`div`,Ee,[(n(!0),l(a,null,t(r.members,e=>(n(),l(`div`,{key:e.templateId,class:`member`},[_(v,{color:e.role===`lead`?`gold`:`blue`,class:`role`},{default:m(()=>[o(i(e.role),1)]),_:2},1032,[`color`]),h(`span`,De,i(e.name),1),h(`span`,T,i(e.harness),1),I(r)?(n(),l(`span`,{key:0,class:`i-tabler-x rm`,onClick:t=>Me(r,e.templateId)},null,8,E)):u(``,!0)]))),128)),I(r)?(n(),f(c,{key:0,size:`small`,type:`dashed`,block:``,onClick:e=>Ae(r)},{default:m(()=>[o(i(e.$t(`teams.krt2oib013`)),1)]),_:1},8,[`onClick`])):u(``,!0)])]))),128)),r(F).length===0?(n(),l(`div`,{key:0,class:`card placeholder`,onClick:s[3]||=e=>R.value=!0},[s[16]||=h(`span`,{class:`i-tabler-plus big`},null,-1),h(`span`,null,i(e.$t(`teams.k6cbbgf014`)),1)])):u(``,!0)])]),_:1},8,[`spinning`]),_(Q,{open:r(R),"onUpdate:open":s[7]||=e=>d(R)?R.value=e:null,title:e.$t(`teams.k1efmuyx002`),"ok-text":`创建`,"cancel-text":`取消`,onOk:Oe},{default:m(()=>[_(Z,{layout:`vertical`},{default:m(()=>[_(N,{label:e.$t(`teams.k3xhia003`)},{default:m(()=>[_(D,{value:r(z).name,"onUpdate:value":s[4]||=e=>r(z).name=e},null,8,[`value`])]),_:1},8,[`label`]),_(N,{label:e.$t(`teams.k40gkk004`)},{default:m(()=>[_(D,{value:r(z).description,"onUpdate:value":s[5]||=e=>r(z).description=e},null,8,[`value`])]),_:1},8,[`label`]),_(N,{label:e.$t(`teams.k3lrqn0005`)},{default:m(()=>[_(X,{value:r(z).visibility,"onUpdate:value":s[6]||=e=>r(z).visibility=e},{default:m(()=>[_(Y,{value:`private`},{default:m(()=>[o(i(e.$t(`teams.k17jfge3015`)),1)]),_:1}),_(Y,{value:`public`},{default:m(()=>[o(i(e.$t(`teams.k1h2lq0o016`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`]),_(Q,{open:r(B),"onUpdate:open":s[10]||=e=>d(B)?B.value=e:null,title:e.$t(`teams.k6ljhyv029`,{p0:r(V)?.name??``}),"ok-text":`加入`,"cancel-text":`取消`,onOk:je},{default:m(()=>[_(Z,{layout:`vertical`},{default:m(()=>[_(N,{label:e.$t(`teams.k41ds5006`)},{default:m(()=>[_($,{value:r(H),"onUpdate:value":s[8]||=e=>d(H)?H.value=e:null,options:r(A).map(e=>({value:e.id,label:`${e.name}(${e.harness})`}))},null,8,[`value`,`options`])]),_:1},8,[`label`]),_(N,{label:e.$t(`teams.k479op007`)},{default:m(()=>[_(X,{value:r(U),"onUpdate:value":s[9]||=e=>d(U)?U.value=e:null},{default:m(()=>[_(Y,{value:`worker`},{default:m(()=>[...s[17]||=[o(` worker `,-1)]]),_:1}),_(Y,{value:`lead`},{default:m(()=>[o(i(e.$t(`teams.keowzlv017`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`]),_(Q,{open:r(W),"onUpdate:open":s[12]||=e=>d(W)?W.value=e:null,title:e.$t(`teams.k1c0o6oe030`,{p0:r(G)?.name??``}),"confirm-loading":r(q),"ok-text":`部署`,"cancel-text":`取消`,onOk:Ne},{default:m(()=>[_(Z,{layout:`vertical`},{default:m(()=>[_(N,{label:`目标 Channel(须无 lead 冲突)`},{default:m(()=>[_($,{value:r(K),"onUpdate:value":s[11]||=e=>d(K)?K.value=e:null,options:r(j).map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`options`])]),_:1})]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`])])}}}),[[`__scopeId`,`data-v-4d91350d`]]);export{D as default};
@@ -0,0 +1 @@
1
+ import{C as e,G as t,H as n,Ht as r,St as i,Ut as a,Wt as o,a as s,b as c,f as l,ft as u,g as d,h as f,mt as p,nt as m,p as h,rt as g,t as _,x as v}from"./BSCpFtzG.js";import{B as y,I as b,L as x,P as ee,k as S}from"./2LwEn9gX.js";import{t as te}from"./ubPfs9mQ.js";import{n as ne}from"./BeIfu4N3.js";import{r as C,t as re}from"./B0haAGoq.js";var ie={class:`page`},ae={class:`aw-page-head`},oe={class:`sub`},se={class:`badges mono`},ce=[`title`],le={class:`badge`},ue={key:0,class:`banner bad`},de={class:`fleet-filter`},fe={class:`aw-seg`},pe=[`placeholder`],me={class:`line-grid`},he={class:`lc-head`},ge={class:`lc-name`},_e=[`title`,`onClick`],ve=[`title`,`onClick`],ye={key:0,class:`lc-run mono`},be={class:`lc-stats mono`},xe={class:`lc-ctl`},Se=[`onUpdate:modelValue`,`disabled`,`title`],Ce={value:``},we=[`value`,`disabled`],Te=[`disabled`,`onClick`],Ee=[`disabled`,`onClick`],De={key:1,class:`banner`},Oe={key:2,class:`banner`},ke={class:`modal`},Ae={class:`m-title`},je={class:`f`},Me=[`placeholder`],Ne={class:`f`},Pe=[`placeholder`],Fe={class:`f`},Ie={class:`color-row`},Le=[`onClick`],Re={class:`dim`},ze={key:0,class:`m-err`},Be={class:`m-actions`},Ve=[`disabled`],He={class:`modal`},Ue={class:`m-title`},We={class:`f`},Ge=[`placeholder`],Ke={class:`f`},qe=[`placeholder`],Je={class:`f`},Ye={class:`color-row`},Xe=[`onClick`],Ze={class:`dim`},Qe={key:0,class:`m-err`},$e={class:`m-actions`},et=[`disabled`],tt={class:`modal`},nt={class:`m-title danger-title`},rt={class:`del-summary`},it={class:`del-purge`},at={key:0,class:`m-err`},ot={class:`m-actions`},st=[`disabled`],ct={class:`modal wide`},lt={class:`m-title`},ut={class:`dim mono`},dt={class:`dim tpl-hint`},ft={class:`tpl-list`},pt=[`title`],mt={class:`mono dim`},ht={key:0,class:`tpl-sem`},gt=[`onClick`],_t={class:`sec-label`},w={class:`tpl-form`},vt={class:`f`},yt=[`placeholder`],bt={class:`f`},xt=[`placeholder`],St={class:`f`},Ct={class:`f`},wt={class:`f`},Tt={class:`f`},Et={class:`f`},Dt={class:`f`},Ot=[`value`],kt={class:`f`},At=[`placeholder`],jt={key:0,class:`m-err`},Mt={class:`m-actions`},Nt=[`disabled`],Pt={key:3,class:`banner bad`},T=_(e({__name:`index`,setup(e){let{t:_}=ne(),T=re();T.load();let E=l(()=>T.lines.map(e=>({line:e,nodes:T.nodes.filter(t=>t.lineId===e.id).length,products:T.products.filter(t=>t.lineId===e.id).length,recipes:T.recipes.filter(t=>t.lineId===e.id).length}))),D=l(()=>T.nodes.filter(e=>!e.lineId).length+T.products.filter(e=>!e.lineId).length),O=p(`all`),k=p(``),A=l(()=>E.value.filter(e=>T.lineStateOf(e.line.id).active).length),j=l(()=>E.value.filter(e=>{let t=T.lineStateOf(e.line.id).active;if(O.value===`running`&&!t||O.value===`idle`&&t)return!1;let n=k.value.trim().toLowerCase();return!(n&&!e.line.name.toLowerCase().includes(n)&&!(e.line.description??``).toLowerCase().includes(n))})),M=p(!1),N=p(!1),P=p(``),F=u({name:``,description:``,color:``}),I=l(()=>C[T.lines.length%C.length]??`#3aa0ff`);function Ft(){F.name=``,F.description=``,F.color=``,P.value=``,M.value=!0}async function It(){N.value=!0,P.value=``;try{await T.createLine({name:F.name.trim(),description:F.description.trim(),color:F.color||void 0}),M.value=!1}catch(e){P.value=e instanceof Error?e.message:String(e)}finally{N.value=!1}}let L=p(``),R=p(``),z=u({});async function Lt(e){L.value=e.line.id,R.value=``;try{let t=z[e.line.id]??``;if(!t)throw Error(_(`dcw.k188cswn039`));await T.startLine(e.line.id,t)}catch(e){R.value=e instanceof Error?e.message:String(e)}finally{L.value=``}}async function Rt(e){L.value=e.line.id,R.value=``;try{await T.stopLine(e.line.id)}catch(e){R.value=e instanceof Error?e.message:String(e)}finally{L.value=``}}function B(e){return T.recipes.filter(t=>t.lineId===e)}let V=p(!1),H=p(!1),U=p(``),W=p(!0),G=p(null);function zt(e){G.value=e,W.value=!0,U.value=``,V.value=!0}async function Bt(){if(G.value){H.value=!0,U.value=``;try{await T.removeLine(G.value.line.id,W.value),V.value=!1}catch(e){U.value=e instanceof Error?e.message:String(e)}finally{H.value=!1}}}let K=p(!1),q=p(!1),J=p(``),Y=u({id:``,name:``,description:``,color:``});function Vt(e){Y.id=e.line.id,Y.name=e.line.name,Y.description=e.line.description,Y.color=e.line.color,J.value=``,K.value=!0}async function Ht(){q.value=!0,J.value=``;try{await T.updateLine(Y.id,{name:Y.name.trim(),description:Y.description.trim(),color:Y.color||void 0}),K.value=!1}catch(e){J.value=e instanceof Error?e.message:String(e)}finally{q.value=!1}}let X=p(!1),Z=p(``),Q=u({name:``,ch:``,code:``,unit:``,min:``,max:``,decimals:1,icon:`gateway`,semantics:``}),Ut=[{key:`thermo`,label:_(`dcw.k422b8040`)},{key:`pressure`,label:_(`dcw.k3x6ff041`)},{key:`tension`,label:_(`dcw.k3z9xc042`)},{key:`encoder`,label:_(`dcw.kjb3vhs043`)},{key:`camera`,label:_(`dcw.k47atw044`)},{key:`gateway`,label:_(`dcw.k48c07045`)}];async function Wt(){Z.value=``;try{if(!Q.name.trim())throw Error(_(`dcw.k6ugbw2046`));if(Q.min===``||Q.max===``)throw Error(_(`dcw.k13awowo047`));await T.createTemplate({name:Q.name.trim(),ch:Q.ch.trim()||Q.name.trim(),code:Q.code.trim()||`CUSTOM`,unit:Q.unit.trim()||`-`,min:Number(Q.min),max:Number(Q.max),decimals:Number(Q.decimals)||0,icon:Q.icon,semantics:Q.semantics.trim()||void 0}),Q.name=``,Q.ch=``,Q.code=``,Q.unit=``,Q.min=``,Q.max=``}catch(e){Z.value=e instanceof Error?e.message:String(e)}}async function Gt(e){Z.value=``;try{await fetch(`/api/workshop/dcw/templates/${e}`,{method:`DELETE`,headers:{authorization:`Bearer ${document.cookie.match(/(?:^|;\s*)token=([^;]+)/)?.[1]??``}`}}).then(async e=>{let t=await e.json().catch(()=>({}));if(t?.code!==0)throw Error(t?.message??_(`dcw.k1bphrb3048`))});let t=T.templates.findIndex(t=>t.key===e);t>=0&&T.templates.splice(t,1)}catch(e){Z.value=e instanceof Error?e.message:String(e)}}let $=l(()=>T.templates.filter(e=>e.builtin).length);return(e,l)=>{let u=te;return n(),d(`div`,ie,[h(`div`,ae,[h(`div`,null,[l[27]||=h(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / LINE OPERATIONS `,-1),h(`h1`,null,o(e.$t(`dcw.k1b2tk5c009`)),1),h(`p`,oe,o(e.$t(`dcw.k5q0aqi010`)),1)]),h(`div`,se,[D.value?(n(),d(`span`,{key:0,class:`badge warn-badge`,title:e.$t(`dcw.k1i5a9vw001`)},o(e.$t(`dcw.k3ootr6049`))+` `+o(D.value),9,ce)):f(``,!0),h(`span`,le,o(e.$t(`dcw.k3wj9n050`))+` `+o(i(T).lines.length),1),h(`button`,{class:`badge tpl-btn`,onClick:l[0]||=e=>X.value=!0},o(e.$t(`dcw.k11nndsp051`))+` `+o(i(T).templates.length),1)])]),R.value?(n(),d(`p`,ue,o(R.value),1)):f(``,!0),h(`div`,de,[h(`div`,fe,[h(`button`,{class:r({on:O.value===`all`}),onClick:l[1]||=e=>O.value=`all`},o(e.$t(`common.all`))+` `+o(E.value.length),3),h(`button`,{class:r({on:O.value===`running`}),onClick:l[2]||=e=>O.value=`running`},o(e.$t(`dcw.k1eox1el055`))+` `+o(A.value),3),h(`button`,{class:r({on:O.value===`idle`}),onClick:l[3]||=e=>O.value=`idle`},o(e.$t(`dcw.k149r6y7059`))+` `+o(E.value.length-A.value),3)]),g(h(`input`,{"onUpdate:modelValue":l[4]||=e=>k.value=e,class:`inp fleet-search`,type:`search`,placeholder:e.$t(`dcw.filterSearchPh`)},null,8,pe),[[x,k.value]])]),h(`div`,me,[(n(!0),d(s,null,t(j.value,f=>(n(),d(`div`,{key:f.line.id,class:r([`line-card`,{idle:!i(T).lineStateOf(f.line.id).active}]),style:a({"--lc":f.line.color})},[h(`div`,he,[l[30]||=h(`span`,{class:`lc-dot`},null,-1),h(`b`,ge,o(f.line.name),1),h(`span`,{class:r([`lc-state`,{on:i(T).lineStateOf(f.line.id).active}])},o(i(T).lineStateOf(f.line.id).active?e.$t(`dcw.k1eox1el055`):e.$t(`dcw.k149r6y7059`)),3),h(`button`,{class:`lc-act`,title:e.$t(`common.edit`),onClick:e=>Vt(f)},[...l[28]||=[h(`span`,{class:`i-tabler-pencil`},null,-1)]],8,_e),h(`button`,{class:`lc-act danger`,title:e.$t(`dcw.k3xakp026`),onClick:e=>zt(f)},[...l[29]||=[h(`span`,{class:`i-tabler-trash`},null,-1)]],8,ve)]),i(T).lineStateOf(f.line.id).active?(n(),d(`small`,ye,o(i(T).lineStateOf(f.line.id).productName)+` · `+o(i(T).lineStateOf(f.line.id).recipeName)+` · `+o(e.$t(`dcw.k3zz0f052`))+` `+o(i(T).lineStateOf(f.line.id).taggedSamples),1)):(n(),d(`small`,{key:1,class:r([`lc-run dim`,{ph:!f.line.description}])},o(f.line.description||e.$t(`dcw.k18moyq1056`)),3)),h(`div`,be,[h(`span`,null,[c(o(e.$t(`dcw.k45uio011`))+` `,1),h(`b`,null,o(f.nodes),1)]),h(`span`,null,[c(o(e.$t(`dcw.k3waz1012`))+` `,1),h(`b`,null,o(f.products),1)]),h(`span`,null,[c(o(e.$t(`dcw.k48grv013`))+` `,1),h(`b`,null,o(f.recipes),1)])]),h(`div`,xe,[i(T).lineStateOf(f.line.id).active?(n(),d(`button`,{key:1,class:`pill-btn stop`,disabled:L.value===f.line.id,onClick:e=>Rt(f)},o(e.$t(`dcw.k148rclf015`)),9,Ee)):(n(),d(s,{key:0},[g(h(`select`,{"onUpdate:modelValue":e=>z[f.line.id]=e,class:`inp`,disabled:B(f.line.id).length===0,title:e.$t(`dcw.k1dhaby4003`)},[h(`option`,Ce,o(B(f.line.id).length?e.$t(`dcw.kutxzsz057`):e.$t(`dcw.k1elczt9060`)),1),(n(!0),d(s,null,t(B(f.line.id),e=>(n(),d(`option`,{key:e.id,value:e.id,disabled:e.params.length===0},o(e.name)+`(`+o(e.params.length)+`) `,9,we))),128))],8,Se),[[b,z[f.line.id]]]),h(`button`,{class:`pill-btn`,disabled:L.value===f.line.id||!z[f.line.id],onClick:e=>Lt(f)},o(e.$t(`dcw.k149b4vg014`)),9,Te)],64))]),v(u,{class:`lc-manage`,to:`/dcw/${f.line.id}`},{default:m(()=>[c(o(e.$t(`dcw.k1fwqw5g016`)),1)]),_:1},8,[`to`])],6))),128)),h(`button`,{class:`line-card new-card`,onClick:Ft},[l[31]||=h(`span`,{class:`i-tabler-plus`},null,-1),c(` `+o(e.$t(`dcw.k1efe391017`))+` `,1),h(`small`,null,o(e.$t(`dcw.k19dlbli053`))+o(I.value)+`)`,1)])]),i(T).loaded&&i(T).lines.length===0?(n(),d(`p`,De,o(e.$t(`dcw.k1sk85vs018`)),1)):i(T).loaded&&j.value.length===0?(n(),d(`p`,Oe,o(e.$t(`dcw.filterEmpty`)),1)):f(``,!0),v(S,{name:`modal`},{default:m(()=>[M.value?(n(),d(`div`,{key:0,class:`modal-mask`,onClick:l[8]||=y(e=>M.value=!1,[`self`])},[h(`div`,ke,[h(`h3`,Ae,o(e.$t(`dcw.k1efe391017`)),1),h(`label`,je,[h(`span`,null,[c(o(e.$t(`dcw.k1b2ioko019`)),1),l[32]||=h(`em`,null,`*`,-1)]),g(h(`input`,{"onUpdate:modelValue":l[5]||=e=>F.name=e,class:`inp`,placeholder:e.$t(`dcw.kru37i3004`)},null,8,Me),[[x,F.name]])]),h(`label`,Ne,[h(`span`,null,o(e.$t(`dcw.k24dxcd020`)),1),g(h(`input`,{"onUpdate:modelValue":l[6]||=e=>F.description=e,class:`inp`,placeholder:e.$t(`dcw.k1f2nwsp005`)},null,8,Pe),[[x,F.description]])]),h(`div`,Fe,[h(`span`,null,o(e.$t(`dcw.k1x7nubr021`)),1),h(`div`,Ie,[(n(!0),d(s,null,t(i(C),e=>(n(),d(`button`,{key:e,class:r([`color-dot`,{on:F.color===e}]),style:a({background:e}),onClick:t=>F.color=F.color===e?``:e},null,14,Le))),128)),h(`small`,Re,o(F.color||e.$t(`dcw.k1qidbpy061`,{p0:I.value})),1)])]),P.value?(n(),d(`p`,ze,o(P.value),1)):f(``,!0),h(`div`,Be,[h(`button`,{class:`mini-btn`,onClick:l[7]||=e=>M.value=!1},o(e.$t(`dcw.k3xdnn022`)),1),h(`button`,{class:`pill-btn`,disabled:N.value||!F.name.trim(),onClick:It},o(e.$t(`dcw.k3wzi2023`)),9,Ve)])])])):f(``,!0)]),_:1}),v(S,{name:`modal`},{default:m(()=>[K.value?(n(),d(`div`,{key:0,class:`modal-mask`,onClick:l[12]||=y(e=>K.value=!1,[`self`])},[h(`div`,He,[h(`h3`,Ue,o(e.$t(`dcw.k5tq8wc071`)),1),h(`label`,We,[h(`span`,null,[c(o(e.$t(`dcw.k1b2ioko019`)),1),l[33]||=h(`em`,null,`*`,-1)]),g(h(`input`,{"onUpdate:modelValue":l[9]||=e=>Y.name=e,class:`inp`,placeholder:e.$t(`dcw.kru37i3004`)},null,8,Ge),[[x,Y.name]])]),h(`label`,Ke,[h(`span`,null,o(e.$t(`dcw.k24dxcd020`)),1),g(h(`input`,{"onUpdate:modelValue":l[10]||=e=>Y.description=e,class:`inp`,placeholder:e.$t(`dcw.k1f2nwsp005`)},null,8,qe),[[x,Y.description]])]),h(`div`,Je,[h(`span`,null,o(e.$t(`dcw.k1x7nubr021`)),1),h(`div`,Ye,[(n(!0),d(s,null,t(i(C),e=>(n(),d(`button`,{key:e,class:r([`color-dot`,{on:Y.color===e}]),style:a({background:e}),onClick:t=>Y.color=Y.color===e?``:e},null,14,Xe))),128)),h(`small`,Ze,o(Y.color||e.$t(`dcw.k1qidbpy061`,{p0:I.value})),1)])]),J.value?(n(),d(`p`,Qe,o(J.value),1)):f(``,!0),h(`div`,$e,[h(`button`,{class:`mini-btn`,onClick:l[11]||=e=>K.value=!1},o(e.$t(`dcw.k3xdnn022`)),1),h(`button`,{class:`pill-btn`,disabled:q.value||!Y.name.trim(),onClick:Ht},o(e.$t(`common.save`)),9,et)])])])):f(``,!0)]),_:1}),v(S,{name:`modal`},{default:m(()=>[V.value&&G.value?(n(),d(`div`,{key:0,class:`modal-mask`,onClick:l[15]||=y(e=>V.value=!1,[`self`])},[h(`div`,tt,[h(`h3`,nt,[l[34]||=h(`span`,{class:`i-tabler-alert-triangle`},null,-1),c(` `+o(e.$t(`dcw.k7xq2mfd063`,{p0:G.value.line.name})),1)]),h(`p`,rt,o(W.value?e.$t(`dcw.k4r7nbd073`,{p0:G.value.line.name,p1:G.value.nodes,p2:G.value.products,p3:G.value.recipes}):e.$t(`dcw.k1gp649b062`,{p0:G.value.line.name,p1:G.value.nodes,p2:G.value.products,p3:G.value.recipes})),1),h(`label`,it,[g(h(`input`,{"onUpdate:modelValue":l[13]||=e=>W.value=e,type:`checkbox`},null,512),[[ee,W.value]]),h(`span`,null,o(e.$t(`dcw.k9m2vxa072`)),1)]),U.value?(n(),d(`p`,at,o(U.value),1)):f(``,!0),h(`div`,ot,[h(`button`,{class:`mini-btn`,onClick:l[14]||=e=>V.value=!1},o(e.$t(`dcw.k3xdnn022`)),1),h(`button`,{class:`pill-btn danger`,disabled:H.value,onClick:Bt},o(e.$t(`dcw.k3xakp026`)),9,st)])])])):f(``,!0)]),_:1}),v(S,{name:`modal`},{default:m(()=>[X.value?(n(),d(`div`,{key:0,class:`modal-mask`,onClick:l[26]||=y(e=>X.value=!1,[`self`])},[h(`div`,ct,[h(`h3`,lt,[c(o(e.$t(`dcw.k11oadmx024`))+` `,1),h(`small`,ut,o(e.$t(`dcw.k3x23c054`))+` `+o($.value)+` · `+o(e.$t(`dcw.k3t616a058`))+` `+o(i(T).templates.length-$.value),1)]),h(`p`,dt,o(e.$t(`dcw.k2hlav5025`)),1),h(`div`,ft,[(n(!0),d(s,null,t(i(T).templates,t=>(n(),d(`div`,{key:t.key,class:`tpl-row`,title:t.semantics??``},[h(`b`,null,o(t.name),1),h(`small`,mt,o(t.code)+` · `+o(t.min)+`~`+o(t.max)+` `+o(t.unit),1),t.semantics?(n(),d(`small`,ht,o(t.semantics.slice(0,40))+o(t.semantics.length>40?`…`:``),1)):f(``,!0),h(`span`,{class:r([`tpl-tag`,{builtin:t.builtin}])},o(t.builtin?e.$t(`dcw.k3x23c054`):e.$t(`dcw.k3t616a058`)),3),t.builtin?f(``,!0):(n(),d(`button`,{key:1,class:`mini-btn danger`,onClick:e=>Gt(t.key)},o(e.$t(`dcw.k3xakp026`)),9,gt))],8,pt))),128))]),h(`p`,_t,o(e.$t(`dcw.k169eb4s027`)),1),h(`div`,w,[h(`label`,vt,[h(`span`,null,[c(o(e.$t(`dcw.k3xhia028`)),1),l[35]||=h(`em`,null,`*`,-1)]),g(h(`input`,{"onUpdate:modelValue":l[16]||=e=>Q.name=e,class:`inp`,placeholder:e.$t(`dcw.k1tooi3o006`)},null,8,yt),[[x,Q.name]])]),h(`label`,bt,[h(`span`,null,o(e.$t(`dcw.k1bqk219029`)),1),g(h(`input`,{"onUpdate:modelValue":l[17]||=e=>Q.ch=e,class:`inp`,placeholder:e.$t(`dcw.k698qz0007`)},null,8,xt),[[x,Q.ch]])]),h(`label`,St,[h(`span`,null,o(e.$t(`dcw.k1ayxrqb030`)),1),g(h(`input`,{"onUpdate:modelValue":l[18]||=e=>Q.code=e,class:`inp`,placeholder:`如 MOTOR · I`},null,512),[[x,Q.code]])]),h(`label`,Ct,[h(`span`,null,o(e.$t(`dcw.k3x4ef031`)),1),g(h(`input`,{"onUpdate:modelValue":l[19]||=e=>Q.unit=e,class:`inp`,placeholder:`如 A`},null,512),[[x,Q.unit]])]),h(`label`,wt,[h(`span`,null,[c(o(e.$t(`dcw.k1l9jv5m032`)),1),l[36]||=h(`em`,null,`*`,-1)]),g(h(`input`,{"onUpdate:modelValue":l[20]||=e=>Q.min=e,type:`number`,class:`inp`},null,512),[[x,Q.min,void 0,{number:!0}]])]),h(`label`,Tt,[h(`span`,null,[c(o(e.$t(`dcw.k1l9jv4p033`)),1),l[37]||=h(`em`,null,`*`,-1)]),g(h(`input`,{"onUpdate:modelValue":l[21]||=e=>Q.max=e,type:`number`,class:`inp`},null,512),[[x,Q.max,void 0,{number:!0}]])]),h(`label`,Et,[h(`span`,null,o(e.$t(`dcw.k3mxmcx034`)),1),g(h(`input`,{"onUpdate:modelValue":l[22]||=e=>Q.decimals=e,type:`number`,class:`inp`},null,512),[[x,Q.decimals,void 0,{number:!0}]])]),h(`label`,Dt,[h(`span`,null,o(e.$t(`dcw.k3xx56035`)),1),g(h(`select`,{"onUpdate:modelValue":l[23]||=e=>Q.icon=e,class:`inp`},[(n(),d(s,null,t(Ut,e=>h(`option`,{key:e.key,value:e.key},o(e.label),9,Ot)),64))],512),[[b,Q.icon]])])]),h(`label`,kt,[h(`span`,null,o(e.$t(`dcw.k1b6qorg036`)),1),g(h(`textarea`,{"onUpdate:modelValue":l[24]||=e=>Q.semantics=e,class:`inp`,rows:`3`,placeholder:e.$t(`dcw.k1qdnfzc008`)},null,8,At),[[x,Q.semantics]])]),Z.value?(n(),d(`p`,jt,o(Z.value),1)):f(``,!0),h(`div`,Mt,[h(`button`,{class:`mini-btn`,onClick:l[25]||=e=>X.value=!1},o(e.$t(`dcw.k3x62t037`)),1),h(`button`,{class:`pill-btn`,disabled:!Q.name.trim()||Q.min===``||Q.max===``,onClick:Wt},o(e.$t(`dcw.k1bg9nga038`)),9,Nt)])])])):f(``,!0)]),_:1}),i(T).error?(n(),d(`p`,Pt,o(i(T).error),1)):f(``,!0)])}}}),[[`__scopeId`,`data-v-f320c05f`]]);export{T as default};