agentworkshop 0.7.34 → 0.7.38

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 (985) hide show
  1. package/.output/.AgentWorkShop/aml-python/aml_eval.py +171 -0
  2. package/.output/.AgentWorkShop/aml-python/amlkit.py +120 -0
  3. package/.output/.AgentWorkShop/aml-python/requirements.txt +7 -0
  4. package/.output/.AgentWorkShop/aml-python/train-example.py +92 -0
  5. package/.output/.AgentWorkShop/schema.json +2 -1
  6. package/.output/nitro.json +1 -1
  7. package/.output/public/_nuxt/{DLljr7g0.js → 45zuyAso.js} +1 -1
  8. package/.output/public/_nuxt/4sIEbgcl.js +42 -0
  9. package/.output/public/_nuxt/8NMOXZOV.js +1 -0
  10. package/.output/public/_nuxt/BCGafdXT.js +2 -0
  11. package/.output/public/_nuxt/BDNMzG2s2.js +1 -0
  12. package/.output/public/_nuxt/{C-mDhyEd.js → BDmh31hl.js} +1 -1
  13. package/.output/public/_nuxt/BFkgkW8u.js +4 -0
  14. package/.output/public/_nuxt/BG8sCcwx.js +14 -0
  15. package/.output/public/_nuxt/{D8CqF0yy.js → BHA40aHa.js} +1 -1
  16. package/.output/public/_nuxt/BJHKLJJU.js +1 -0
  17. package/.output/public/_nuxt/{DoTdlVVe2.js → BN6iuJEg2.js} +1 -1
  18. package/.output/public/_nuxt/BNT8gYU92.js +4 -0
  19. package/.output/public/_nuxt/BU83-NnX.js +106 -0
  20. package/.output/public/_nuxt/BYhEUx8t.js +17 -0
  21. package/.output/public/_nuxt/BzHEilTt.js +1 -0
  22. package/.output/public/_nuxt/{Ct-WOVr4.js → C3J6FYKa.js} +1 -1
  23. package/.output/public/_nuxt/C3gwHTz0.js +1 -0
  24. package/.output/public/_nuxt/C4DWUZ6d2.js +1 -0
  25. package/.output/public/_nuxt/C5gUkRwn.js +1 -0
  26. package/.output/public/_nuxt/CClOy-Hz2.js +1 -0
  27. package/.output/public/_nuxt/{CUXCQXjG.js → CM12FuB42.js} +1 -1
  28. package/.output/public/_nuxt/{BSCpFtzG.js → CSkxz2NX.js} +1 -1
  29. package/.output/public/_nuxt/CWoJjWmZ.js +1 -0
  30. package/.output/public/_nuxt/CY9LbPCI.js +1 -0
  31. package/.output/public/_nuxt/CYWVXZTS.js +7 -0
  32. package/.output/public/_nuxt/CZiw7sEV.js +1 -0
  33. package/.output/public/_nuxt/C_OLzD09.js +1 -0
  34. package/.output/public/_nuxt/C__m4EhR.js +1 -0
  35. package/.output/public/_nuxt/Cbq-mryP.js +1 -0
  36. package/.output/public/_nuxt/{C4OAdbVK2.js → Cc_9VzD42.js} +1 -1
  37. package/.output/public/_nuxt/{BASN8nZ0.js → CdPzkOMV.js} +1 -1
  38. package/.output/public/_nuxt/Cec0Ua3F.js +1 -0
  39. package/.output/public/_nuxt/{DYKVPzN-.js → CoNpEq5X.js} +1 -1
  40. package/.output/public/_nuxt/CojCTLKD.js +1 -0
  41. package/.output/public/_nuxt/{B7wL3pDk.js → Crod5z2f.js} +1 -1
  42. package/.output/public/_nuxt/CzlMDL5H.js +13 -0
  43. package/.output/public/_nuxt/{G0qIw7Gq2.js → D0ZBQrN_2.js} +1 -1
  44. package/.output/public/_nuxt/{Lp7Ll94I.js → D1YDxZpZ.js} +1 -1
  45. package/.output/public/_nuxt/{Bc0AmjfT.js → D20Yamr4.js} +1 -1
  46. package/.output/public/_nuxt/D6uzXueg.js +2 -0
  47. package/.output/public/_nuxt/D9Oidm5I.js +1 -0
  48. package/.output/public/_nuxt/DAe0h2MB.js +1 -0
  49. package/.output/public/_nuxt/DBHNsT1Y.js +23 -0
  50. package/.output/public/_nuxt/DDShH71m.js +1 -0
  51. package/.output/public/_nuxt/DDgJcSET.js +19 -0
  52. package/.output/public/_nuxt/DHFrCUxA2.js +13 -0
  53. package/.output/public/_nuxt/{BcrN7QEl2.js → DIaZ2PTo2.js} +1 -1
  54. package/.output/public/_nuxt/DPnwL14Y.js +1 -0
  55. package/.output/public/_nuxt/DR12_WCA.js +3 -0
  56. package/.output/public/_nuxt/{B9nXmjSB.js → DUrecWPx.js} +4 -4
  57. package/.output/public/_nuxt/DVsjtsvZ2.js +1 -0
  58. package/.output/public/_nuxt/DYr1VMiQ.js +6 -0
  59. package/.output/public/_nuxt/DZtm4l-P2.js +1 -0
  60. package/.output/public/_nuxt/DdD9mCHM.js +1 -0
  61. package/.output/public/_nuxt/DeJykBFf.js +9 -0
  62. package/.output/public/_nuxt/{DoMxCWN52.js → DeyBFhKH2.js} +1 -1
  63. package/.output/public/_nuxt/DkGQ7lnb2.js +1 -0
  64. package/.output/public/_nuxt/DmqknNvV.js +18 -0
  65. package/.output/public/_nuxt/DnUuIR83.js +1 -0
  66. package/.output/public/_nuxt/DrYV5i68.js +1 -0
  67. package/.output/public/_nuxt/{B5S_UyaC.js → DtYHUi5Z.js} +1 -1
  68. package/.output/public/_nuxt/Dz_Q3Lpw2.js +1 -0
  69. package/.output/public/_nuxt/DzbFpZRk.js +3 -0
  70. package/.output/public/_nuxt/HBLJ-wei.js +1 -0
  71. package/.output/public/_nuxt/JCoYF4IJ.js +31 -0
  72. package/.output/public/_nuxt/JTLM-kqr2.js +1 -0
  73. package/.output/public/_nuxt/{BeIfu4N3.js → KZQX7xoM.js} +2 -2
  74. package/.output/public/_nuxt/S_fVQwJK.js +1 -0
  75. package/.output/public/_nuxt/TownView.0oLiQgTC.css +1 -0
  76. package/.output/public/_nuxt/YnQxK3eG.js +1 -0
  77. package/.output/public/_nuxt/_id_.D-SYuyZb.css +1 -0
  78. package/.output/public/_nuxt/_id_.hma_BU6T.css +1 -0
  79. package/.output/public/_nuxt/_wsId_.B12v3PhY.css +1 -0
  80. package/.output/public/_nuxt/aLLjF2K-2.js +1 -0
  81. package/.output/public/_nuxt/aWWIh8YL.js +24 -0
  82. package/.output/public/_nuxt/ahgEJu2R.js +1 -0
  83. package/.output/public/_nuxt/aml.COEKNNqK.css +1 -0
  84. package/.output/public/_nuxt/builds/latest.json +1 -1
  85. package/.output/public/_nuxt/builds/meta/44b66249-54d0-4c8a-9057-9755a32329e2.json +1 -0
  86. package/.output/public/_nuxt/daq.B3265ZDn.css +1 -0
  87. package/.output/public/_nuxt/dcw.DLYZqEhT.css +1 -0
  88. package/.output/public/_nuxt/default.DE_vT238.css +1 -0
  89. package/.output/public/_nuxt/entry.BB-Eeh-J.css +1 -0
  90. package/.output/public/_nuxt/jZsY8yYz.js +1 -0
  91. package/.output/public/_nuxt/logs.CqFyMrJw.css +1 -0
  92. package/.output/public/_nuxt/pages.ooEzrMm9.css +1 -0
  93. package/.output/public/_nuxt/pdk8jLGT.js +1 -0
  94. package/.output/public/_nuxt/plugins.5e5chZ67.css +1 -0
  95. package/.output/public/_nuxt/pz2JDAM7.js +2 -0
  96. package/.output/public/_nuxt/settings.Dm3M0RLy.css +1 -0
  97. package/.output/public/_nuxt/town.DKIAhKnx.css +1 -0
  98. package/.output/public/_nuxt/users.CXnP2E08.css +1 -0
  99. package/.output/public/_nuxt/vRTjoWqd.js +1 -0
  100. package/.output/public/_nuxt/workshop.Jk5HxWPE.css +1 -0
  101. package/.output/public/_nuxt/zIGh7R49.js +75 -0
  102. package/.output/public/_nuxt/zq5t1vyX.js +1 -0
  103. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  104. package/.output/server/chunks/_/entity.mjs +174 -0
  105. package/.output/server/chunks/_/entity.mjs.map +1 -0
  106. package/.output/server/chunks/_/env-manager.mjs +162 -0
  107. package/.output/server/chunks/_/env-manager.mjs.map +1 -0
  108. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  109. package/.output/server/chunks/_/nitro.mjs +1657 -1162
  110. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  111. package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
  112. package/.output/server/chunks/build/{TownView-BdHnAilw.mjs → TownView-jVazYOjN.mjs} +141 -141
  113. package/.output/server/chunks/build/{TownView-BdHnAilw.mjs.map → TownView-jVazYOjN.mjs.map} +1 -1
  114. package/.output/server/chunks/build/{_id_-Cb845FHR.mjs → _id_-CfVosNg3.mjs} +136 -136
  115. package/.output/server/chunks/build/{_id_-Cb845FHR.mjs.map → _id_-CfVosNg3.mjs.map} +1 -1
  116. package/.output/server/chunks/build/{_id_-fadFPl2i.mjs → _id_-Hwr4rZpr.mjs} +32 -32
  117. package/.output/server/chunks/build/{_id_-fadFPl2i.mjs.map → _id_-Hwr4rZpr.mjs.map} +1 -1
  118. package/.output/server/chunks/build/{_wsId_-CTZswnm5.mjs → _wsId_-BVg3bB77.mjs} +175 -165
  119. package/.output/server/chunks/build/{_wsId_-CTZswnm5.mjs.map → _wsId_-BVg3bB77.mjs.map} +1 -1
  120. package/.output/server/chunks/build/aml-BCSJCdX7.mjs +588 -0
  121. package/.output/server/chunks/build/aml-BCSJCdX7.mjs.map +1 -0
  122. package/.output/server/chunks/build/{daq-BvihjQyW.mjs → daq-C03Uu5UE.mjs} +108 -106
  123. package/.output/server/chunks/build/daq-C03Uu5UE.mjs.map +1 -0
  124. package/.output/server/chunks/build/{dcw-Ks2vJ4PF.mjs → dcw-6vEYVeje.mjs} +44 -44
  125. package/.output/server/chunks/build/{dcw-Ks2vJ4PF.mjs.map → dcw-6vEYVeje.mjs.map} +1 -1
  126. package/.output/server/chunks/build/{default-GgHt4O2R.mjs → default-hseyOqBT.mjs} +30 -27
  127. package/.output/server/chunks/build/{default-GgHt4O2R.mjs.map → default-hseyOqBT.mjs.map} +1 -1
  128. package/.output/server/chunks/build/{logs-CYBhkQwh.mjs → logs-B-xhuqln.mjs} +35 -35
  129. package/.output/server/chunks/build/{logs-CYBhkQwh.mjs.map → logs-B-xhuqln.mjs.map} +1 -1
  130. package/.output/server/chunks/build/{pages-C-6BRtv8.mjs → pages-BO7yZsXA.mjs} +18 -27
  131. package/.output/server/chunks/build/pages-BO7yZsXA.mjs.map +1 -0
  132. package/.output/server/chunks/build/{plugins-dZRegC7m.mjs → plugins-CUWmMdyt.mjs} +17 -17
  133. package/.output/server/chunks/build/{plugins-dZRegC7m.mjs.map → plugins-CUWmMdyt.mjs.map} +1 -1
  134. package/.output/server/chunks/build/{settings-CgDLkP3s.mjs → settings-DoQ2Oq3P.mjs} +43 -43
  135. package/.output/server/chunks/build/{settings-CgDLkP3s.mjs.map → settings-DoQ2Oq3P.mjs.map} +1 -1
  136. package/.output/server/chunks/build/{town-DJ-V5G9U.mjs → town-BOl6hs9B.mjs} +7 -7
  137. package/.output/server/chunks/build/{town-DJ-V5G9U.mjs.map → town-BOl6hs9B.mjs.map} +1 -1
  138. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs +1 -1
  139. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs +1 -1
  140. package/.output/server/chunks/build/{useWorkshopWs-CprkZEdq.mjs → useWorkshopWs-C_I7q9As.mjs} +110 -32
  141. package/.output/server/chunks/build/{useWorkshopWs-CprkZEdq.mjs.map → useWorkshopWs-C_I7q9As.mjs.map} +1 -1
  142. package/.output/server/chunks/build/{users-4nzxTjFT.mjs → users-fohSmF-J.mjs} +6 -6
  143. package/.output/server/chunks/build/{users-4nzxTjFT.mjs.map → users-fohSmF-J.mjs.map} +1 -1
  144. package/.output/server/chunks/build/{workshop-81xhz368.mjs → workshop-DX5-ldc4.mjs} +15 -15
  145. package/.output/server/chunks/build/{workshop-81xhz368.mjs.map → workshop-DX5-ldc4.mjs.map} +1 -1
  146. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +21 -8
  147. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
  148. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +1 -1
  149. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +58 -0
  150. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs.map +1 -0
  151. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +27 -6
  152. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
  153. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +49 -0
  154. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs.map +1 -0
  155. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +45 -0
  156. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs.map +1 -0
  157. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +30 -0
  158. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs.map +1 -0
  159. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +40 -0
  160. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs.map +1 -0
  161. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +42 -0
  162. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs.map +1 -0
  163. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +1 -1
  164. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +1 -1
  165. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +4 -22
  166. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs.map +1 -1
  167. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +1 -1
  168. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +4 -16
  169. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs.map +1 -1
  170. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +19 -34
  171. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs.map +1 -1
  172. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +41 -0
  173. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs.map +1 -0
  174. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +62 -0
  175. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs.map +1 -0
  176. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +1 -1
  177. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +1 -1
  178. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +1 -1
  179. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +63 -0
  180. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs.map +1 -0
  181. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +1 -1
  182. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +1 -1
  183. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +54 -0
  184. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs.map +1 -0
  185. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +46 -0
  186. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs.map +1 -0
  187. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
  188. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
  189. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +2 -2
  190. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -1
  191. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +1 -1
  192. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +1 -1
  193. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
  194. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -1
  195. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +1 -1
  196. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +4 -4
  197. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
  198. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
  199. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
  200. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
  201. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
  202. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
  203. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
  204. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
  205. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
  206. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
  207. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
  208. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
  209. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
  210. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
  211. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
  212. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
  213. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
  214. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
  215. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
  216. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
  217. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
  218. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
  219. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
  220. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
  221. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
  222. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
  223. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
  224. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
  225. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -1
  226. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
  227. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
  228. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
  229. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
  230. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  231. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  232. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
  233. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
  234. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
  235. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
  236. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
  237. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
  238. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
  239. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
  240. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
  241. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
  242. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
  243. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
  244. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
  245. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
  246. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  247. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  248. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
  249. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
  250. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -1
  251. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  252. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  253. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  254. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  255. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  256. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +12 -1
  257. package/.output/server/chunks/routes/api/workshop/index2.get.mjs.map +1 -1
  258. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
  259. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
  260. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
  261. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
  262. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
  263. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
  264. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  265. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  266. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  267. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  268. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
  269. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +1 -1
  270. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +1 -1
  271. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
  272. package/.output/server/chunks/routes/renderer.mjs +2 -2
  273. package/.output/server/chunks/virtual/entry.mjs +103 -17
  274. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  275. package/.output/server/package.json +1 -1
  276. package/README-zh.md +578 -507
  277. package/README.md +125 -51
  278. package/app/assets/css/main.css +329 -22
  279. package/app/components/AppHeader.vue +5 -4
  280. package/app/components/AppSidebar.vue +5 -4
  281. package/app/components/AwChart.vue +17 -0
  282. package/app/components/workshop/AgentLanesView.vue +2 -2
  283. package/app/components/workshop/ChannelSessionList.vue +3 -3
  284. package/app/components/workshop/CommandPalette.vue +1 -2
  285. package/app/components/workshop/Composer.vue +4 -4
  286. package/app/components/workshop/DaqNodeRow.vue +20 -1
  287. package/app/components/workshop/EventBlock.vue +3 -3
  288. package/app/components/workshop/MentionHoverCard.vue +1 -1
  289. package/app/components/workshop/MultiChannelView.vue +1 -1
  290. package/app/components/workshop/TaskBoardView.vue +5 -5
  291. package/app/components/workshop/TranscriptTimeline.vue +3 -3
  292. package/app/components/workshop/blocks/ClusterRoute.vue +3 -3
  293. package/app/components/workshop/blocks/ClusterStream.vue +1 -1
  294. package/app/components/workshop/blocks/ClusterTool.vue +1 -1
  295. package/app/components/workshop/lanes/LaneBlocks.vue +5 -2
  296. package/app/components/workshop/town/TownView.vue +0 -7
  297. package/app/composables/workshop/useClusteredBlocks.ts +22 -3
  298. package/app/composables/workshop/useEscClose.ts +44 -0
  299. package/app/config/index.ts +2 -1
  300. package/app/layouts/default.vue +25 -8
  301. package/app/pages/aml/index.vue +626 -4
  302. package/app/pages/daq/[id].vue +1 -1
  303. package/app/pages/daq/index.vue +10 -12
  304. package/app/pages/dcw/[id].vue +2 -2
  305. package/app/pages/dcw/index.vue +7 -11
  306. package/app/pages/index.vue +24 -6
  307. package/app/pages/logs/index.vue +2 -6
  308. package/app/pages/plugins/index.vue +1 -1
  309. package/app/pages/settings.vue +2 -2
  310. package/app/pages/town.vue +0 -2
  311. package/app/pages/users.vue +1 -1
  312. package/app/pages/workshop/index.vue +2 -2
  313. package/app/plugins/esc-close.client.ts +31 -0
  314. package/app/stores/workshop/events.ts +186 -36
  315. package/bin/aw.mjs +7 -2
  316. package/cli/aw.mjs +19 -34
  317. package/cli/commands/build.mjs +18 -1
  318. package/cli/commands/config.mjs +2 -0
  319. package/cli/commands/plugin.mjs +45 -18
  320. package/cli/commands/register.mjs +6 -2
  321. package/cli/commands/status.mjs +2 -1
  322. package/cli/commands/update.mjs +1 -1
  323. package/cli/commands/version.mjs +1 -1
  324. package/cli/core/args.mjs +76 -4
  325. package/cli/core/help.mjs +3 -1
  326. package/cli/core/meta.mjs +38 -0
  327. package/cli/core/post-build.mjs +96 -0
  328. package/cli/core/registry.mjs +6 -3
  329. package/config.yml +28 -26
  330. package/docs/aml.md +99 -0
  331. package/docs/cli.en.md +445 -0
  332. package/docs/cli.md +410 -220
  333. package/docs/full-test-plan.md +174 -0
  334. package/docs/multi-harness-architecture.md +248 -0
  335. package/docs/plugins.en.md +534 -0
  336. package/docs/plugins.md +531 -179
  337. package/docs/sdk.en.md +922 -0
  338. package/docs/sdk.md +725 -129
  339. package/i18n/dicts/aml.json +43 -1
  340. package/i18n/locales/en.ts +1928 -1885
  341. package/i18n/locales/zh-CN.ts +1928 -1885
  342. package/nuxt.config.ts +27 -2
  343. package/package.json +164 -153
  344. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.continue.json +1 -0
  345. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.json +1 -0
  346. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/054bb4bc4e4217a2ab0b0c6b663747214a9af464f5568ea60e784704e340bb0f.source +153 -0
  347. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/0554197c3d2bac203a1f5c48a5d52495d1336db1bd7aa4f4c19875810363e684.source +153 -0
  348. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/05c203d12a954fffba942e1d626e3f5fec05b18a5aef2bac003b7884a4b77406.source +431 -0
  349. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/145a6e6ba811af35aed31e0cc3211f53706a14980fa069ee9e3c1591139f96f0.source +180 -0
  350. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/1ae0fb281f97899c025e368ca73f41349b01fb5f85b19e08d7ebccff49095ed5.source +112 -0
  351. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/20ee9967aa0541c516db7575bdd4a1a745939bc7016bd10d7635903113edb8ec.source +227 -0
  352. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/233751843aeba9d4c5263f275b8102de00443c06f286918cbd23e0b6729e01aa.source +131 -0
  353. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/263c2e05b425e5c322e60c6475279f963bab3a873eb521b21df7fec935a46597.source +160 -0
  354. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/2ac5eaac28eaaee2178c4b32014df8e732f9dd432a285a872f5b7f31c1395fa4.source +157 -0
  355. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/33a0db0d2d95d2c11d0720090458e5fba1425376f5ceb5b422d1d3471be3226b.source +348 -0
  356. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/359e474ae83db35e4615d3728de6bf694b64d4dce9b536730a3b6518f9c0494a.source +296 -0
  357. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/37a4c3c31c4b70f6b719c53d1e9c4fcba603f31adfdd11bb6ef9f0d094923c56.source +285 -0
  358. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/461feca1c14a695eb8b0f17a6f95fe97eeceabc0510faaea4ba6d25bde147d8d.source +217 -0
  359. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/4cfadbda8591f29d5e1e230dc000e701b756e850441b3900fb596a4d2f6e98c2.source +301 -0
  360. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/50ca2810cf0b248c96948994c0c404531bbad6e553166b6816b3b03bfa0f75d2.source +151 -0
  361. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/52d9e8cb591a9ae86e238c3620a610cd386717bee222c0f37b25b2ac7e523dc4.source +135 -0
  362. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/6c87daafa4c006560a954636a97333f6123153c9d34d96203f7ee3a14e556357.source +156 -0
  363. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/77bc47854b577900621cacf1697f81fa2bc005af129d37614a97a3441c08f99f.source +72 -0
  364. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/7bbb789d3a527817118cf8399ed1861d6a962ade10878fd07223435d333a7089.source +469 -0
  365. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/86b7c1daafc8b60ba9982dde5bf1bcc74265709483c176e71f23ec6fc267451f.source +259 -0
  366. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/8df66d62bd41984d0970e8236882080c5085ac937d07a29779463d6a03b37c76.source +97 -0
  367. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/9962f2d1b3a85137bd40cc835725600b39f89ee02a27c06b2e0402e1eafde115.source +277 -0
  368. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a1090ea066b792cb201739f4994e37bf7c12f52e805239a1eab87f18a537f266.source +171 -0
  369. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a5241091650134d0919897e086a606a3846c8b2b54f8b4c84a8696c145ac3e9e.source +425 -0
  370. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/af19fa4c6e34d5540028be4b17600161283af3a2a2dfc61a3fdc0834436a0c14.source +99 -0
  371. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3713d78e2b2f93905ff6be8d58a8d0a2f42dea322eb67c987fda22ff6a084d5.source +325 -0
  372. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3849943c3aff102d1af815631fc843a2a52c17646a4b04696ece323e483bbec.source +332 -0
  373. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/bac735a3803a6650b7f1eb8f587e6dc5c68ea055000c3c99a11789438b78e837.source +43 -0
  374. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d32c24d61eb8b33c73e5a8fc7e4dc7ef437aed238ee4371c2b00617e6104090a.source +154 -0
  375. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d5170dc9a9879fda04fdf91d8a110d4efb6787ee38dda596d4da899883d36a72.source +531 -0
  376. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/dc59bcd7bb397be63ba2f2c3fec23f3782dcb17d2d75a9981eeced761f33eb32.source +439 -0
  377. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/eb5ff8cf66b92aec7bf6726781d8df74faa2b030c3aaac17d6b00c1fc04c9b32.source +323 -0
  378. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f10615a6fae18436e70d1201b2d44fdae3174a3aa7bb4db97dea1b3ed291d721.source +433 -0
  379. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f36d3e271668bc1260c2823542d22dbf1d0f7041ff16b1ac175bce2256e582ca.source +280 -0
  380. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f94449380af09f31ac352152007146a75cc80bae8d6411ffe57b2c56f933b0ff.source +117 -0
  381. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/fe4dfd81178fd6b648335f6405d9ede71319aebde796008e50db21f8adf44c99.source +160 -0
  382. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/ffb4e3aa548cfdadabaa44ab599f9b6a3ca6288176a2cc7a4b2fc2a12b5fb848.source +101 -0
  383. package/scripts/.mimosa/hook-status/sess_aeaecb58-8833-4b83-b93c-050467d21e03-d944d71bb3.json +14 -0
  384. package/scripts/_audit/aml-layout-diag.mjs +83 -0
  385. package/scripts/_audit/bump-version.mjs +51 -0
  386. package/scripts/_audit/channel-inspect.mjs +49 -0
  387. package/scripts/_audit/cleanup-apply.mjs +89 -0
  388. package/scripts/_audit/cleanup-plan.mjs +82 -0
  389. package/scripts/_audit/contrast-check.mjs +43 -0
  390. package/scripts/_audit/dcw-unrecorded-write.ts +1 -1
  391. package/scripts/_audit/design-shots.mjs +145 -0
  392. package/scripts/_audit/docs-font-probe.mjs +68 -0
  393. package/scripts/_audit/docs-probe.mjs +107 -0
  394. package/scripts/_audit/docs-shots.mjs +171 -0
  395. package/scripts/_audit/docs-v3-verify.mjs +255 -0
  396. package/scripts/_audit/docs-vue-lint.mjs +81 -0
  397. package/scripts/_audit/docs-vue-lint2.mjs +91 -0
  398. package/scripts/_audit/exp-cost-scaling.mjs +4 -1
  399. package/scripts/_audit/exp-envelope-and-png.mjs +2 -1
  400. package/scripts/_audit/exp-sweep-fairness.mjs +4 -2
  401. package/scripts/_audit/fix-settings-count.mjs +57 -0
  402. package/scripts/_audit/glass-verify.mjs +155 -0
  403. package/scripts/_audit/hydration-diff.mjs +104 -0
  404. package/scripts/_audit/hydration-head.mjs +36 -0
  405. package/scripts/_audit/hydration-probe.mjs +59 -0
  406. package/scripts/_audit/lead-matrix-test.mjs +172 -0
  407. package/scripts/_audit/plc-agent-task.mjs +74 -0
  408. package/scripts/_audit/plc-clean-scenario.mjs +434 -0
  409. package/scripts/_audit/plc-clean-shots.mjs +161 -0
  410. package/scripts/_audit/plc-fc10-probe.mjs +30 -0
  411. package/scripts/_audit/probe-binding.mjs +114 -103
  412. package/scripts/_audit/review-fix-verify.mjs +158 -0
  413. package/scripts/_audit/seed-demo.mjs +165 -0
  414. package/scripts/_audit/town-focus-shot.mjs +129 -0
  415. package/scripts/_audit/town-reposition.mjs +85 -0
  416. package/scripts/_audit/ts-resolve-hook.mjs +57 -22
  417. package/scripts/_audit/verify-cleanup.mjs +67 -0
  418. package/scripts/_audit/verify-release-pack.mjs +82 -0
  419. package/scripts/_audit/watchdog-recovery-test.mjs +127 -0
  420. package/scripts/_dbg-audit-all-pages.mjs +43 -43
  421. package/scripts/_dbg-configroot-audit.mjs +84 -84
  422. package/scripts/_dbg-daq-intervals-func.mjs +94 -94
  423. package/scripts/_dbg-daq-rowstyle-verify.mjs +112 -112
  424. package/scripts/_dbg-groups-ui-verify.mjs +122 -122
  425. package/scripts/_dbg-harness-e2e.mjs +92 -92
  426. package/scripts/_dbg-harness-ui-e2e.py +97 -97
  427. package/scripts/_dbg-hitl-timeout-e2e.mjs +93 -93
  428. package/scripts/_dbg-multiharness-live-e2e.mjs +254 -254
  429. package/scripts/_dbg-opslog-agent-e2e.mjs +194 -194
  430. package/scripts/_dbg-opt-team-e2e.mjs +133 -133
  431. package/scripts/_dbg-recipe-e2e.mjs +176 -176
  432. package/scripts/_dbg-recipe-stale-e2e.mjs +135 -135
  433. package/scripts/_dbg-render-perf.mjs +142 -142
  434. package/scripts/_dbg-render-regression.mjs +130 -130
  435. package/scripts/_dbg-town-smoke.mjs +54 -54
  436. package/scripts/aw-start-smoke.mjs +27 -8
  437. package/scripts/check-docs-sync.mjs +367 -0
  438. package/scripts/e2e-full-closedloop.mjs +36 -18
  439. package/scripts/production-closed-loop-e2e.mjs +300 -303
  440. package/scripts/test-cli-exit.mjs +129 -21
  441. package/scripts/test-daq-frame-race.mjs +144 -96
  442. package/scripts/test-events-index.mjs +176 -0
  443. package/scripts/test-lru.mjs +34 -11
  444. package/scripts/test-memory-month-query.mjs +11 -3
  445. package/scripts/test-plugin-hardening.mjs +39 -2
  446. package/scripts/test-plugin-lifecycle.mjs +173 -0
  447. package/scripts/test-rollback-index.mjs +76 -18
  448. package/scripts/test-sdk-surface.mjs +6 -3
  449. package/sdk/client.mjs +16 -7
  450. package/sdk/context.mjs +21 -9
  451. package/sdk/examples/line-sentinel/client.mjs +13 -6
  452. package/sdk/examples/line-sentinel/index.mjs +5 -2
  453. package/sdk/examples/ops-notifier/client.mjs +3 -1
  454. package/sdk/examples/sample-insight/client.mjs +4 -2
  455. package/sdk/index.d.mts +133 -16
  456. package/sdk/index.mjs +3 -2
  457. package/sdk/lifecycle.mjs +8 -3
  458. package/server/api/workshop/agent-tools/bindings/index.post.ts +22 -7
  459. package/server/api/workshop/aml/datasets/[id].delete.ts +39 -0
  460. package/server/api/workshop/aml/datasets/[id].get.ts +31 -9
  461. package/server/api/workshop/aml/datasets/[id].patch.ts +30 -0
  462. package/server/api/workshop/aml/entities/index.get.ts +13 -0
  463. package/server/api/workshop/aml/entities/prune.post.ts +28 -0
  464. package/server/api/workshop/aml/env/index.get.ts +13 -0
  465. package/server/api/workshop/aml/env/recheck.post.ts +14 -0
  466. package/server/api/workshop/aml/env/uv.post.ts +21 -0
  467. package/server/api/workshop/aml/env/venv.post.ts +24 -0
  468. package/server/api/workshop/aml/index.get.ts +14 -1
  469. package/server/api/workshop/aml/jobs/[id].delete.ts +44 -0
  470. package/server/api/workshop/aml/models/[id].delete.ts +35 -0
  471. package/server/api/workshop/aml/models/[id].patch.ts +30 -0
  472. package/server/plugins/dev-stability-guard.ts +40 -63
  473. package/server/services/workshop/agents/agent-interface.ts +3 -0
  474. package/server/services/workshop/agents/codex-agent.ts +4 -7
  475. package/server/services/workshop/agents/dsh-agent.ts +4 -7
  476. package/server/services/workshop/agents/opencode-agent.ts +5 -7
  477. package/server/services/workshop/aml/aml.repo.ts +18 -0
  478. package/server/services/workshop/aml/dataset-builder.ts +4 -0
  479. package/server/services/workshop/aml/entity.ts +365 -0
  480. package/server/services/workshop/aml/env-manager.ts +242 -0
  481. package/server/services/workshop/aml/job-orchestrator.ts +4 -15
  482. package/server/services/workshop/aml/model-registry.ts +6 -0
  483. package/server/services/workshop/aml/python-runtime.ts +396 -62
  484. package/server/services/workshop/aml/runtime.ts +95 -4
  485. package/server/services/workshop/daq/bus/mqtt.adapter.ts +3 -1
  486. package/server/services/workshop/daq/daq-controller.ts +95 -47
  487. package/server/services/workshop/daq/daq-node.repo.ts +0 -10
  488. package/server/services/workshop/daq/daq-runtime.ts +0 -5
  489. package/server/services/workshop/json-store.mjs +35 -2
  490. package/server/services/workshop/plugins/host.mjs +14 -5
  491. package/server/services/workshop/runtime/manager.ts +28 -1
  492. package/server/services/workshop/runtime/scheduler-loop.ts +10 -1
  493. package/server/services/workshop/settings.ts +2 -0
  494. package/server/utils/stability-severity.ts +66 -0
  495. package/shared/config/home.mjs +58 -0
  496. package/shared/config/schema.json +2 -1
  497. package/shared/lru.mjs +4 -1
  498. package/.output/public/_nuxt/-6OnbLFb.js +0 -1
  499. package/.output/public/_nuxt/-nb2uqVg.js +0 -1
  500. package/.output/public/_nuxt/4bHdIqEg.js +0 -18
  501. package/.output/public/_nuxt/6PZPfFcO.js +0 -17
  502. package/.output/public/_nuxt/BBBtwOpo.js +0 -9
  503. package/.output/public/_nuxt/BBwMH_hG.js +0 -7
  504. package/.output/public/_nuxt/BDUjyaF4.js +0 -42
  505. package/.output/public/_nuxt/BNXfwXpE.js +0 -1
  506. package/.output/public/_nuxt/BN_PdN3J.js +0 -24
  507. package/.output/public/_nuxt/BSSUlJnx2.js +0 -1
  508. package/.output/public/_nuxt/BWSE6hR6.js +0 -1
  509. package/.output/public/_nuxt/BZGNTgTQ2.js +0 -1
  510. package/.output/public/_nuxt/BZv4RFYN.js +0 -1
  511. package/.output/public/_nuxt/BcmbLh2z2.js +0 -1
  512. package/.output/public/_nuxt/BfGc7TJp.js +0 -1
  513. package/.output/public/_nuxt/BgTB6h_q.js +0 -2
  514. package/.output/public/_nuxt/BkLJA9J5.js +0 -1
  515. package/.output/public/_nuxt/Bp5luxkg2.js +0 -1
  516. package/.output/public/_nuxt/BuCHayqN.js +0 -1
  517. package/.output/public/_nuxt/BuvcLKh1.js +0 -19
  518. package/.output/public/_nuxt/C3tCneTM.js +0 -1
  519. package/.output/public/_nuxt/C77oC8yC2.js +0 -7
  520. package/.output/public/_nuxt/C9f8QMp12.js +0 -1
  521. package/.output/public/_nuxt/CKfhtOt7.js +0 -13
  522. package/.output/public/_nuxt/CQvmN-Mi.js +0 -1
  523. package/.output/public/_nuxt/CUDrOuW7.js +0 -1
  524. package/.output/public/_nuxt/CZcC-gpk.js +0 -1
  525. package/.output/public/_nuxt/CbzsPO5H.js +0 -1
  526. package/.output/public/_nuxt/CdSOrh2c.js +0 -1
  527. package/.output/public/_nuxt/Cgx818r-.js +0 -1
  528. package/.output/public/_nuxt/Cjm7VogC.js +0 -1
  529. package/.output/public/_nuxt/Cm5mDxzH.js +0 -1
  530. package/.output/public/_nuxt/CmHzfVc5.js +0 -3
  531. package/.output/public/_nuxt/Cn3J3NXR.js +0 -23
  532. package/.output/public/_nuxt/Cno6kYiO2.js +0 -1
  533. package/.output/public/_nuxt/Cp6z0RN7.js +0 -1
  534. package/.output/public/_nuxt/CwqIxJGj.js +0 -2
  535. package/.output/public/_nuxt/D-Ca4BGY.js +0 -70
  536. package/.output/public/_nuxt/D0fhp-Ga.js +0 -75
  537. package/.output/public/_nuxt/D1z7i2UP.js +0 -31
  538. package/.output/public/_nuxt/DIaTPH1M.js +0 -1
  539. package/.output/public/_nuxt/DTYBfjRY.js +0 -1
  540. package/.output/public/_nuxt/DXRZPxGs.js +0 -1
  541. package/.output/public/_nuxt/DZzGarBE2.js +0 -13
  542. package/.output/public/_nuxt/DaMCzQhv.js +0 -1
  543. package/.output/public/_nuxt/DoLasgPj2.js +0 -1
  544. package/.output/public/_nuxt/DpojD719.js +0 -1
  545. package/.output/public/_nuxt/DsVcWfyR.js +0 -1
  546. package/.output/public/_nuxt/DtBu71ev.js +0 -32
  547. package/.output/public/_nuxt/Dy-mxvXY2.js +0 -1
  548. package/.output/public/_nuxt/DzuC31-i.js +0 -2
  549. package/.output/public/_nuxt/FQri3dV3.js +0 -1
  550. package/.output/public/_nuxt/ORt9oDIy2.js +0 -1
  551. package/.output/public/_nuxt/TownView.CtskuMXS.css +0 -1
  552. package/.output/public/_nuxt/VLI2Zy4t.js +0 -5
  553. package/.output/public/_nuxt/_id_.MbzdFygI.css +0 -1
  554. package/.output/public/_nuxt/_id_.hRYo-EAB.css +0 -1
  555. package/.output/public/_nuxt/_wsId_.gXMEOYgX.css +0 -1
  556. package/.output/public/_nuxt/aml.WU_bh87J.css +0 -1
  557. package/.output/public/_nuxt/arUY5dyq2.js +0 -4
  558. package/.output/public/_nuxt/builds/meta/adc365b6-f636-4a2b-9527-79819c1e874b.json +0 -1
  559. package/.output/public/_nuxt/daq.Bb6l44-O.css +0 -1
  560. package/.output/public/_nuxt/dcw.rXH2fc2Z.css +0 -1
  561. package/.output/public/_nuxt/default.jNT73_hq.css +0 -1
  562. package/.output/public/_nuxt/ekuGmQ7R.js +0 -1
  563. package/.output/public/_nuxt/entry.jFrFAWuA.css +0 -1
  564. package/.output/public/_nuxt/logs.DMOM-iHe.css +0 -1
  565. package/.output/public/_nuxt/niDwBOZW.js +0 -3
  566. package/.output/public/_nuxt/pMoIO6rr.js +0 -14
  567. package/.output/public/_nuxt/pages.Cc8GX9T1.css +0 -1
  568. package/.output/public/_nuxt/plugins.wIPyfPn-.css +0 -1
  569. package/.output/public/_nuxt/rqZ-1SoP.js +0 -2
  570. package/.output/public/_nuxt/settings.BCm4NZIc.css +0 -1
  571. package/.output/public/_nuxt/town.C_DsNW0J.css +0 -1
  572. package/.output/public/_nuxt/users.DuAt_Zwf.css +0 -1
  573. package/.output/public/_nuxt/vJ4FPb-_.js +0 -1
  574. package/.output/public/_nuxt/workshop.BJg84pOK.css +0 -1
  575. package/.output/server/chunks/build/aml-uBNIppIf.mjs +0 -508
  576. package/.output/server/chunks/build/aml-uBNIppIf.mjs.map +0 -1
  577. package/.output/server/chunks/build/daq-BvihjQyW.mjs.map +0 -1
  578. package/.output/server/chunks/build/pages-C-6BRtv8.mjs.map +0 -1
  579. package/scripts/_audit/.tmp/audit-data/dcws.json +0 -28
  580. package/scripts/_audit/.tmp/dcw-writes.json +0 -15650
  581. package/scripts/_audit/.tmp/dcws.json +0 -9033
  582. package/scripts/_audit/.tmp/pollution-backup/dcw-rollback.polluted.json +0 -470006
  583. package/scripts/_audit/.tmp/pollution-backup/dcws.polluted.json +0 -9085
  584. package/scripts/_audit/.tmp/probe-cwd.txt +0 -1
  585. package/scripts/_audit/awhome/commands/README.md +0 -3
  586. package/scripts/_audit/awhome/commands/hello.mjs +0 -12
  587. package/scripts/_audit/diag-cwd.ts +0 -20
  588. package/scripts/_audit/diag-cwd2.ts +0 -19
  589. package/scripts/_audit/hello.mjs +0 -12
  590. package/scripts/_audit/ndjson-partial-line-repro.mjs +0 -77
  591. package/scripts/_audit/opencode-await-ternary-repro.mjs +0 -20
  592. package/scripts/_audit/part-frag.txt +0 -84
  593. package/scripts/_audit/part-head.txt +0 -45
  594. package/scripts/_audit/probe-child.mjs +0 -17
  595. package/scripts/_audit/probe-envelope.mjs +0 -49
  596. package/scripts/_audit/probe-packlist.mjs +0 -67
  597. package/scripts/_audit/probe-routes.mjs +0 -47
  598. package/scripts/_audit/probe-routes2.mjs +0 -38
  599. package/scripts/_audit/probe.ts +0 -9
  600. package/scripts/_audit/probe2.ts +0 -6
  601. package/scripts/_audit/probe3.ts +0 -3
  602. package/scripts/_audit/probe4.ts +0 -3
  603. package/scripts/_audit/proj/.AgentWorkShop/commands/echoargs.mjs +0 -13
  604. package/scripts/_audit/proj/config.yml +0 -1
  605. package/scripts/_audit/run.mjs +0 -30
  606. package/scripts/_audit/tsconfig.probe.json +0 -24
  607. package/scripts/_audit/typecheck-out.txt +0 -466
  608. package/scripts/_daq-realtime-probe.mjs +0 -68
  609. package/scripts/_daq-warn-probe.mjs +0 -50
  610. package/scripts/_dbg-acc-1-setup.mjs +0 -57
  611. package/scripts/_dbg-acc-2-diag.mjs +0 -14
  612. package/scripts/_dbg-acc-2-intervals.mjs +0 -81
  613. package/scripts/_dbg-acc-3-daq.mjs +0 -48
  614. package/scripts/_dbg-acc-4-team.mjs +0 -92
  615. package/scripts/_dbg-acc-5-visual.mjs +0 -63
  616. package/scripts/_dbg-acc-5b-ws-town.mjs +0 -18
  617. package/scripts/_dbg-acc-5c-town.mjs +0 -12
  618. package/scripts/_dbg-acc-6-i18n.mjs +0 -19
  619. package/scripts/_dbg-agent-tools-audit.mjs +0 -154
  620. package/scripts/_dbg-agent-workflow-audit.mjs +0 -177
  621. package/scripts/_dbg-agents-dropdown-shot.py +0 -33
  622. package/scripts/_dbg-anim-verify.mjs +0 -81
  623. package/scripts/_dbg-app-shot.mjs +0 -48
  624. package/scripts/_dbg-autoframe.mjs +0 -103
  625. package/scripts/_dbg-availability-probe.ts +0 -11
  626. package/scripts/_dbg-beacon-final.mjs +0 -181
  627. package/scripts/_dbg-bind-bidi-e2e.mjs +0 -239
  628. package/scripts/_dbg-callout-near.mjs +0 -108
  629. package/scripts/_dbg-catalog-smoke.ts +0 -20
  630. package/scripts/_dbg-cf-line-shot.mjs +0 -18
  631. package/scripts/_dbg-chan-focus.mjs +0 -49
  632. package/scripts/_dbg-channel-plugin-ui.mjs +0 -94
  633. package/scripts/_dbg-cleanup.mjs +0 -31
  634. package/scripts/_dbg-closedloop-ui-shot.mjs +0 -61
  635. package/scripts/_dbg-codex-handshake.ts +0 -30
  636. package/scripts/_dbg-codex-probe.mjs +0 -58
  637. package/scripts/_dbg-codex-sandbox.ts +0 -58
  638. package/scripts/_dbg-codex-turn.ts +0 -65
  639. package/scripts/_dbg-collab-scenario-e2e.mjs +0 -185
  640. package/scripts/_dbg-config-smoke.ts +0 -28
  641. package/scripts/_dbg-console-audit.mjs +0 -61
  642. package/scripts/_dbg-console-probe.mjs +0 -23
  643. package/scripts/_dbg-context-inject-audit.mjs +0 -231
  644. package/scripts/_dbg-cpu-profile.mjs +0 -53
  645. package/scripts/_dbg-crash-recovery.mjs +0 -143
  646. package/scripts/_dbg-crop-shot.mjs +0 -16
  647. package/scripts/_dbg-cross-channel-e2e.mjs +0 -157
  648. package/scripts/_dbg-cross-team-visibility-e2e.mjs +0 -129
  649. package/scripts/_dbg-crush-probe.sh +0 -21
  650. package/scripts/_dbg-crush-spawn-probe.ts +0 -22
  651. package/scripts/_dbg-daq-acc-probe.mjs +0 -24
  652. package/scripts/_dbg-daq-attrib.mjs +0 -34
  653. package/scripts/_dbg-daq-bind-audit.mjs +0 -119
  654. package/scripts/_dbg-daq-cadence.mjs +0 -104
  655. package/scripts/_dbg-daq-debug.mjs +0 -22
  656. package/scripts/_dbg-daq-diag.mjs +0 -33
  657. package/scripts/_dbg-daq-e2e.mjs +0 -171
  658. package/scripts/_dbg-daq-film.mjs +0 -136
  659. package/scripts/_dbg-daq-filter-e2e.mjs +0 -109
  660. package/scripts/_dbg-daq-filter-e2e2.mjs +0 -62
  661. package/scripts/_dbg-daq-final-regression.mjs +0 -78
  662. package/scripts/_dbg-daq-frame-alarm.mjs +0 -49
  663. package/scripts/_dbg-daq-frame-ui.mjs +0 -62
  664. package/scripts/_dbg-daq-frame-ws.mjs +0 -72
  665. package/scripts/_dbg-daq-full-check.mjs +0 -179
  666. package/scripts/_dbg-daq-line-note-verify.mjs +0 -61
  667. package/scripts/_dbg-daq-linebanner-audit.mjs +0 -107
  668. package/scripts/_dbg-daq-pages-shot.mjs +0 -37
  669. package/scripts/_dbg-daq-perf.mjs +0 -61
  670. package/scripts/_dbg-daq-probe.mjs +0 -27
  671. package/scripts/_dbg-daq-recipe-e2e.mjs +0 -30
  672. package/scripts/_dbg-daq-redesign-shot.mjs +0 -88
  673. package/scripts/_dbg-daq-rows-probe.mjs +0 -26
  674. package/scripts/_dbg-daq-rowstate-e2e.mjs +0 -152
  675. package/scripts/_dbg-daq-rowstate-shot.mjs +0 -45
  676. package/scripts/_dbg-daq-rowstate-shot2.mjs +0 -38
  677. package/scripts/_dbg-daq-tpl.mjs +0 -144
  678. package/scripts/_dbg-dash-console-check.mjs +0 -49
  679. package/scripts/_dbg-dash-deep-probe.mjs +0 -61
  680. package/scripts/_dbg-dash-hitpoint.mjs +0 -44
  681. package/scripts/_dbg-dash-live-shot.mjs +0 -36
  682. package/scripts/_dbg-dash-shot.mjs +0 -21
  683. package/scripts/_dbg-dashboard-shot.mjs +0 -35
  684. package/scripts/_dbg-dcw-audit.mjs +0 -126
  685. package/scripts/_dbg-dcw-card-e2e.mjs +0 -108
  686. package/scripts/_dbg-dcw-channel-ui.mjs +0 -144
  687. package/scripts/_dbg-dcw-examples.mjs +0 -81
  688. package/scripts/_dbg-dcw-light-shot.mjs +0 -19
  689. package/scripts/_dbg-dcw-line-audit.mjs +0 -107
  690. package/scripts/_dbg-dcw-pause-tpl-audit.mjs +0 -161
  691. package/scripts/_dbg-dcw-pause-ui.mjs +0 -175
  692. package/scripts/_dbg-dcw-read-toolface.ts +0 -13
  693. package/scripts/_dbg-dcw-read-ui.mjs +0 -74
  694. package/scripts/_dbg-dcw-scene.mjs +0 -72
  695. package/scripts/_dbg-dcw-shot2.mjs +0 -14
  696. package/scripts/_dbg-dcw-twin-e2e.mjs +0 -192
  697. package/scripts/_dbg-diag-mock-loop.mjs +0 -89
  698. package/scripts/_dbg-diag-watch.mjs +0 -95
  699. package/scripts/_dbg-docs-site-shot.mjs +0 -32
  700. package/scripts/_dbg-dsh-probe.mjs +0 -31
  701. package/scripts/_dbg-dt-interact.mjs +0 -193
  702. package/scripts/_dbg-error-probe.mjs +0 -54
  703. package/scripts/_dbg-filter-light-verify.mjs +0 -54
  704. package/scripts/_dbg-final-acceptance-2.mjs +0 -72
  705. package/scripts/_dbg-final-acceptance.mjs +0 -192
  706. package/scripts/_dbg-final-agent-e2e.mjs +0 -151
  707. package/scripts/_dbg-final-features.mjs +0 -155
  708. package/scripts/_dbg-final-fixups.mjs +0 -62
  709. package/scripts/_dbg-final-full-e2e.mjs +0 -218
  710. package/scripts/_dbg-final-line-e2e.mjs +0 -173
  711. package/scripts/_dbg-final-shots.mjs +0 -32
  712. package/scripts/_dbg-final-t6-hitl.mjs +0 -38
  713. package/scripts/_dbg-final-visual.mjs +0 -29
  714. package/scripts/_dbg-fix-unused-imports.py +0 -41
  715. package/scripts/_dbg-focus-range.mjs +0 -115
  716. package/scripts/_dbg-fresh-scene-e2e.mjs +0 -125
  717. package/scripts/_dbg-fullchain-e2e.mjs +0 -178
  718. package/scripts/_dbg-gate-debug.mjs +0 -37
  719. package/scripts/_dbg-gif-encode.mjs +0 -111
  720. package/scripts/_dbg-gizmo.mjs +0 -95
  721. package/scripts/_dbg-glass-probe.mjs +0 -57
  722. package/scripts/_dbg-glass-shot.mjs +0 -50
  723. package/scripts/_dbg-glass-sweep.mjs +0 -25
  724. package/scripts/_dbg-glb-probe.mjs +0 -43
  725. package/scripts/_dbg-goose-probe.mjs +0 -33
  726. package/scripts/_dbg-goose-probe.sh +0 -10
  727. package/scripts/_dbg-hardening-probe.mjs +0 -90
  728. package/scripts/_dbg-harness-cancel-repro.mjs +0 -81
  729. package/scripts/_dbg-harness-ui-dbg.py +0 -49
  730. package/scripts/_dbg-harness-ui-shot.py +0 -109
  731. package/scripts/_dbg-hero-btn-probe.mjs +0 -21
  732. package/scripts/_dbg-hidden-check.mjs +0 -21
  733. package/scripts/_dbg-hmi-audit.mjs +0 -164
  734. package/scripts/_dbg-home-repro.mjs +0 -24
  735. package/scripts/_dbg-home-stack.mjs +0 -13
  736. package/scripts/_dbg-host.mjs +0 -16
  737. package/scripts/_dbg-huashu-survey.mjs +0 -31
  738. package/scripts/_dbg-huashu-survey2.mjs +0 -35
  739. package/scripts/_dbg-huashu-verify.mjs +0 -25
  740. package/scripts/_dbg-huashu-verify2.mjs +0 -26
  741. package/scripts/_dbg-hydration-detail.mjs +0 -18
  742. package/scripts/_dbg-i18n-debug.mjs +0 -27
  743. package/scripts/_dbg-i18n-debug2.mjs +0 -26
  744. package/scripts/_dbg-i18n-final.mjs +0 -42
  745. package/scripts/_dbg-i18n-scan.mjs +0 -38
  746. package/scripts/_dbg-infra-lifecycle.mjs +0 -44
  747. package/scripts/_dbg-interval-config.mjs +0 -156
  748. package/scripts/_dbg-interval-scenario.mjs +0 -126
  749. package/scripts/_dbg-kicker-check.mjs +0 -11
  750. package/scripts/_dbg-line-aura-shots.mjs +0 -54
  751. package/scripts/_dbg-line-control-e2e.mjs +0 -120
  752. package/scripts/_dbg-line-gate-audit.mjs +0 -108
  753. package/scripts/_dbg-line-live-e2e.mjs +0 -144
  754. package/scripts/_dbg-line-repo-test.ts +0 -10
  755. package/scripts/_dbg-line-scenario-e2e.mjs +0 -256
  756. package/scripts/_dbg-line-spawn.ts +0 -31
  757. package/scripts/_dbg-live-engine-probe.mjs +0 -80
  758. package/scripts/_dbg-login-debug.py +0 -23
  759. package/scripts/_dbg-login-e2e.mjs +0 -26
  760. package/scripts/_dbg-logs-ui-e2e.py +0 -126
  761. package/scripts/_dbg-mcp-bridge-probe.mjs +0 -147
  762. package/scripts/_dbg-modbus-latency.mjs +0 -22
  763. package/scripts/_dbg-mqtt-chain-e2e.mjs +0 -90
  764. package/scripts/_dbg-mqtt-publisher.mjs +0 -17
  765. package/scripts/_dbg-nav-rpg.mjs +0 -84
  766. package/scripts/_dbg-nav-shot.mjs +0 -28
  767. package/scripts/_dbg-nav.mjs +0 -27
  768. package/scripts/_dbg-oneshot-impl-probe.ts +0 -67
  769. package/scripts/_dbg-opencode-sse.mjs +0 -101
  770. package/scripts/_dbg-opencode-start.ts +0 -57
  771. package/scripts/_dbg-opslog-e2e.mjs +0 -121
  772. package/scripts/_dbg-opslog-shots.mjs +0 -62
  773. package/scripts/_dbg-optimization-e2e.mjs +0 -94
  774. package/scripts/_dbg-orbit.mjs +0 -58
  775. package/scripts/_dbg-overview-probe.sh +0 -31
  776. package/scripts/_dbg-panesplitter-fix-check.mjs +0 -62
  777. package/scripts/_dbg-perms-visual.mjs +0 -36
  778. package/scripts/_dbg-pg-tcp-probe.cjs +0 -27
  779. package/scripts/_dbg-phase-e3-monitor.mjs +0 -25
  780. package/scripts/_dbg-pi-spawn-probe.ts +0 -33
  781. package/scripts/_dbg-plc-agent-loop.ts +0 -102
  782. package/scripts/_dbg-plc-e2e.mjs +0 -171
  783. package/scripts/_dbg-plugin-agent-read.ts +0 -56
  784. package/scripts/_dbg-plugin-config-ui.mjs +0 -111
  785. package/scripts/_dbg-plugin-matrix.mjs +0 -212
  786. package/scripts/_dbg-plugin-panels-ui.mjs +0 -54
  787. package/scripts/_dbg-plugin-sink-rest.mjs +0 -70
  788. package/scripts/_dbg-plugin-sink-ui.mjs +0 -81
  789. package/scripts/_dbg-plugin-tools-inject.ts +0 -80
  790. package/scripts/_dbg-plugin-ui-wizard.mjs +0 -125
  791. package/scripts/_dbg-plugin-verify-e2e.mjs +0 -123
  792. package/scripts/_dbg-plugins-e2e.mjs +0 -101
  793. package/scripts/_dbg-pop-clamp-verify.mjs +0 -77
  794. package/scripts/_dbg-preset-e2e.mjs +0 -116
  795. package/scripts/_dbg-preview-console.mjs +0 -28
  796. package/scripts/_dbg-preview-minrepro.mjs +0 -156
  797. package/scripts/_dbg-preview-pixels.mjs +0 -93
  798. package/scripts/_dbg-prompts-hotreload-test.ts +0 -76
  799. package/scripts/_dbg-prompts-resolve-test.ts +0 -39
  800. package/scripts/_dbg-quality-pages-e2e.mjs +0 -84
  801. package/scripts/_dbg-query-cancel.ts +0 -12
  802. package/scripts/_dbg-qwen-acp-probe.mjs +0 -30
  803. package/scripts/_dbg-qwen-capture.mjs +0 -21
  804. package/scripts/_dbg-rail-tree-e2e.mjs +0 -183
  805. package/scripts/_dbg-real-driver-e2e.mjs +0 -55
  806. package/scripts/_dbg-redesign-shots.mjs +0 -34
  807. package/scripts/_dbg-registry-smoke.ts +0 -14
  808. package/scripts/_dbg-release-smoke.mjs +0 -104
  809. package/scripts/_dbg-repo-setup-verify.mjs +0 -31
  810. package/scripts/_dbg-resolve-probe.ts +0 -6
  811. package/scripts/_dbg-restart-persist.mjs +0 -41
  812. package/scripts/_dbg-retention-test.ts +0 -25
  813. package/scripts/_dbg-rollback-mgr-audit.mjs +0 -169
  814. package/scripts/_dbg-rpg.mjs +0 -71
  815. package/scripts/_dbg-sc001-dispatch.mjs +0 -63
  816. package/scripts/_dbg-scenario-final-shot.mjs +0 -24
  817. package/scripts/_dbg-scenario-phase-e2.mjs +0 -75
  818. package/scripts/_dbg-scenario-phase-e3.mjs +0 -96
  819. package/scripts/_dbg-scenario-phase1.mjs +0 -90
  820. package/scripts/_dbg-scenario-phase2.mjs +0 -105
  821. package/scripts/_dbg-scenario-phase3-monitor.mjs +0 -48
  822. package/scripts/_dbg-scenario-phase3.mjs +0 -111
  823. package/scripts/_dbg-scene-polish-shot.mjs +0 -118
  824. package/scripts/_dbg-selring-probe.mjs +0 -47
  825. package/scripts/_dbg-settings-draft-probe.mjs +0 -39
  826. package/scripts/_dbg-settings-probe.mjs +0 -33
  827. package/scripts/_dbg-setup-e2e.mjs +0 -88
  828. package/scripts/_dbg-sideinfo.mjs +0 -101
  829. package/scripts/_dbg-sim-keeper.mjs +0 -100
  830. package/scripts/_dbg-splitter.mjs +0 -88
  831. package/scripts/_dbg-swatch-check.mjs +0 -10
  832. package/scripts/_dbg-task-cancel-probe.mjs +0 -66
  833. package/scripts/_dbg-team-drill.mjs +0 -173
  834. package/scripts/_dbg-town-alarm-e2e.mjs +0 -40
  835. package/scripts/_dbg-town-beauty-shots.mjs +0 -54
  836. package/scripts/_dbg-town-daq-shot.mjs +0 -26
  837. package/scripts/_dbg-town-full-e2e.mjs +0 -104
  838. package/scripts/_dbg-town-gate.mjs +0 -44
  839. package/scripts/_dbg-town-ins-probe.mjs +0 -37
  840. package/scripts/_dbg-town-perf.mjs +0 -50
  841. package/scripts/_dbg-town-polish-shots.mjs +0 -82
  842. package/scripts/_dbg-town-realtime.mjs +0 -42
  843. package/scripts/_dbg-town-shot.py +0 -25
  844. package/scripts/_dbg-town-shot3.mjs +0 -17
  845. package/scripts/_dbg-town-truth.mjs +0 -37
  846. package/scripts/_dbg-town-truth2.mjs +0 -27
  847. package/scripts/_dbg-transform-audit.mjs +0 -98
  848. package/scripts/_dbg-trend-expand-test.mjs +0 -38
  849. package/scripts/_dbg-twindaq-focus.mjs +0 -81
  850. package/scripts/_dbg-ui-polish-shot.mjs +0 -43
  851. package/scripts/_dbg-ui-polish-verify1.mjs +0 -92
  852. package/scripts/_dbg-ui-polish-verify2.mjs +0 -50
  853. package/scripts/_dbg-ui-polish-verify3.mjs +0 -51
  854. package/scripts/_dbg-ui-polish-verify4.mjs +0 -50
  855. package/scripts/_dbg-ui-shot.mjs +0 -26
  856. package/scripts/_dbg-ui-shots.mjs +0 -28
  857. package/scripts/_dbg-ui-survey.py +0 -52
  858. package/scripts/_dbg-unify-shot.mjs +0 -43
  859. package/scripts/_dbg-uplink-probe.mjs +0 -36
  860. package/scripts/_dbg-wizard-preview-shot.mjs +0 -58
  861. package/scripts/_dbg-wizard-ui-e2e.mjs +0 -93
  862. package/scripts/_dbg-ws-probe.mjs +0 -86
  863. package/scripts/_dbg-ws-shot2.mjs +0 -23
  864. package/scripts/_dbg-wsdot-sanity.mjs +0 -25
  865. package/scripts/_dev-stack.mjs +0 -46
  866. package/scripts/_http-driver-probe.mjs +0 -30
  867. package/scripts/_mqtt-driver-probe.mjs +0 -30
  868. package/scripts/_newdriver-rest-probe.mjs +0 -100
  869. package/scripts/_node-state-probe.mjs +0 -5
  870. package/scripts/_opcua-driver-probe.mjs +0 -31
  871. package/scripts/_rtu-debug.mjs +0 -41
  872. package/scripts/_rtu-direct.mjs +0 -6
  873. package/scripts/_rtu-driver-probe.mjs +0 -53
  874. package/scripts/_spike-pitui.mjs +0 -116
  875. package/scripts/_tmp-args-probe.mjs +0 -20
  876. package/scripts/_tmp-cyc-entry.mjs +0 -8
  877. package/scripts/_tmp-cyc-main.mjs +0 -5
  878. package/scripts/_tmp-cyc-mod.mjs +0 -2
  879. package/scripts/_tmp-cycle-a.mjs +0 -6
  880. package/scripts/_tmp-cycle-b.mjs +0 -2
  881. package/scripts/_tmp-cycle-probe.mjs +0 -4
  882. package/scripts/_tmp-entry-variant.mjs +0 -2
  883. package/scripts/_tmp-help-probe.mjs +0 -19
  884. package/scripts/_tmp-help-probe2.mjs +0 -2
  885. package/scripts/_tmp-trace-preload.mjs +0 -1
  886. package/scripts/_wizard-shots.mjs +0 -90
  887. package/scripts/acceptance-suite.py +0 -207
  888. package/scripts/aml-agent-bridge.ts +0 -230
  889. package/scripts/aml-industrial-loop.ts +0 -232
  890. package/scripts/build-film-devices.mjs +0 -227
  891. package/scripts/collab-live-test.py +0 -177
  892. package/scripts/debug-mcp-http.ts +0 -64
  893. package/scripts/demo-lead-worker.ts +0 -256
  894. package/scripts/demo-modes.ts +0 -415
  895. package/scripts/demo-omp-channel.ts +0 -135
  896. package/scripts/design-preflight.mjs +0 -223
  897. package/scripts/design-verify-templates.mjs +0 -110
  898. package/scripts/design-verify.mjs +0 -170
  899. package/scripts/dev-window.cmd +0 -6
  900. package/scripts/device-line-restore.mjs +0 -34
  901. package/scripts/diag-lead-status.ts +0 -101
  902. package/scripts/e2e-a2a-steer-live.mjs +0 -193
  903. package/scripts/e2e-dual-drive-comm.ts +0 -259
  904. package/scripts/e2e-full-scenario.ts +0 -321
  905. package/scripts/e2e-harness-consistency.ts +0 -204
  906. package/scripts/e2e-harness-provider-task.mjs +0 -126
  907. package/scripts/e2e-line-live.mjs +0 -144
  908. package/scripts/e2e-memory-persistence.ts +0 -320
  909. package/scripts/e2e-omp-modes.ts +0 -274
  910. package/scripts/e2e-omp-realtime.ts +0 -258
  911. package/scripts/e2e-plc-scenario.mjs +0 -292
  912. package/scripts/e2e-real-scenario.mjs +0 -466
  913. package/scripts/e2e-tab-close.mjs +0 -136
  914. package/scripts/e2e-token-ui.mjs +0 -149
  915. package/scripts/final-soup-run.py +0 -192
  916. package/scripts/final-soup-watch.py +0 -83
  917. package/scripts/i18n-codemod.mjs +0 -173
  918. package/scripts/i18n-fix-en.py +0 -28
  919. package/scripts/i18n-fix-en2.py +0 -31
  920. package/scripts/i18n-merge.mjs +0 -191
  921. package/scripts/migrate-local-time.mjs +0 -123
  922. package/scripts/omp-real-test.py +0 -328
  923. package/scripts/team-plugins-api-smoke.mjs +0 -149
  924. package/scripts/test-a2a-relay.mjs +0 -222
  925. package/scripts/test-aml-integration.ts +0 -159
  926. package/scripts/test-aml-job.ts +0 -174
  927. package/scripts/test-aml-unit.ts +0 -184
  928. package/scripts/test-api-client.ts +0 -108
  929. package/scripts/test-api-suite.mjs +0 -271
  930. package/scripts/test-block-consumption.mjs +0 -194
  931. package/scripts/test-cmd-render.mjs +0 -218
  932. package/scripts/test-collab-omp.mjs +0 -192
  933. package/scripts/test-config-precedence.ts +0 -124
  934. package/scripts/test-context-governor.ts +0 -176
  935. package/scripts/test-daq-frames.ts +0 -180
  936. package/scripts/test-daq-minio.ts +0 -77
  937. package/scripts/test-dedup-logic.ts +0 -132
  938. package/scripts/test-e2e-collaboration.ts +0 -262
  939. package/scripts/test-e2e-monitor.ts +0 -192
  940. package/scripts/test-event-history.ts +0 -112
  941. package/scripts/test-exec-modes.ts +0 -316
  942. package/scripts/test-fifo-realtime.mjs +0 -193
  943. package/scripts/test-final-e2e.mjs +0 -290
  944. package/scripts/test-goal-summary.ts +0 -202
  945. package/scripts/test-harness-liveness.ts +0 -109
  946. package/scripts/test-harness-terminal.ts +0 -164
  947. package/scripts/test-header-trail.mjs +0 -95
  948. package/scripts/test-hitl.ts +0 -360
  949. package/scripts/test-koda-restyle.mjs +0 -105
  950. package/scripts/test-lane-raw.ts +0 -67
  951. package/scripts/test-lanes-history-render.mjs +0 -138
  952. package/scripts/test-loop-omp.mjs +0 -154
  953. package/scripts/test-mdlite.ts +0 -53
  954. package/scripts/test-memory-brief-chronicle.ts +0 -180
  955. package/scripts/test-memory-rrf-mmr.ts +0 -114
  956. package/scripts/test-mock-collab.mjs +0 -226
  957. package/scripts/test-modern-render.mjs +0 -174
  958. package/scripts/test-omp-terminal.mjs +0 -187
  959. package/scripts/test-plugin-ext.ts +0 -173
  960. package/scripts/test-prompts-loader.ts +0 -56
  961. package/scripts/test-real-scenario.mjs +0 -290
  962. package/scripts/test-stream-render.ts +0 -37
  963. package/scripts/test-task-drawer.mjs +0 -204
  964. package/scripts/test-task-invariants.mjs +0 -169
  965. package/scripts/test-town-3d.mjs +0 -121
  966. package/scripts/test-town-layout.mjs +0 -200
  967. package/scripts/test-town-page.mjs +0 -136
  968. package/scripts/test-town-scene-math.ts +0 -169
  969. package/scripts/test-town-twin.mjs +0 -121
  970. package/scripts/test-town-upload.mjs +0 -89
  971. package/scripts/test-town-user-flow.mjs +0 -619
  972. package/scripts/test-town-world.mjs +0 -76
  973. package/scripts/test-town-wuwa.mjs +0 -198
  974. package/scripts/test-user-isolation.mjs +0 -193
  975. package/scripts/test-workshop-entries.ts +0 -370
  976. package/scripts/test-workspace-api.ts +0 -329
  977. package/scripts/test-ws-aep.mjs +0 -187
  978. package/scripts/test-ws-protocol.ts +0 -134
  979. package/scripts/town-demo-seed.mjs +0 -75
  980. package/scripts/town-scene-clear.mjs +0 -56
  981. package/scripts/verify-exec-modes-report.ts +0 -248
  982. package/scripts/verify-lead-mail.ts +0 -188
  983. package/scripts/verify-page-smoke.mjs +0 -87
  984. package/scripts/ws-test.mjs +0 -176
  985. package/scripts/ws-test.py +0 -4
@@ -1 +0,0 @@
1
- .model-preview-3d[data-v-9d114165]{border:1px solid var(--hud-line,#263340);background:radial-gradient(120% 90% at 50% 20%,#41c8f41f,#0000 62%),linear-gradient(#0b121b,#0e141d);border-radius:2px;width:100%;min-height:40px;position:relative;overflow:hidden}.mp-loading[data-v-9d114165]{place-items:center;display:grid;position:absolute;inset:0}.mp-spin[data-v-9d114165]{border:2px solid #41c8f440;border-top-color:#41c8f4;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite mp-spin-9d114165}@keyframes mp-spin-9d114165{to{transform:rotate(1turn)}}.mp-failed[data-v-9d114165]{font-family:var(--font-mono);letter-spacing:.12em;color:var(--hud-dim,#7f919e);place-items:center;font-size:9px;display:grid;position:absolute;inset:0}.asset-lib[data-v-effff4e2]{width:184px;font-family:var(--font-body);flex-direction:column;flex:none;gap:8px;padding:0 0 10px;display:flex}.lib-head[data-v-effff4e2]{border-bottom:1px solid #26334073;align-items:center;gap:7px;padding:10px 12px 6px;display:flex}.head-title[data-v-effff4e2]{font-family:var(--font-mono);letter-spacing:.16em;color:var(--hud-text,#d9e4ee);white-space:nowrap;font-size:10px;font-weight:600}.head-hint[data-v-effff4e2]{font-family:var(--font-mono);color:var(--hud-faint,#5b6c7b);white-space:nowrap;margin-left:auto;font-size:8.5px}.upload-box[data-v-effff4e2]{transition:border-color .16s var(--hud-ease,ease), background .16s var(--hud-ease,ease);background:#0b101866;border:1px dashed #263340cc;border-radius:2px;flex-direction:column;gap:7px;margin:8px 10px 0;padding:7px;display:flex}.upload-box.drop[data-v-effff4e2]{border-color:var(--hud-accent,#4da3ff);background:#4da3ff14}.upload-row[data-v-effff4e2]{cursor:pointer;align-items:center;gap:6px;min-height:26px;display:flex}.file-input[data-v-effff4e2]{display:none}.upload-name[data-v-effff4e2]{font-family:var(--font-mono);color:var(--hud-dim,#8496a5);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex;overflow:hidden}.upload-ico[data-v-effff4e2]{color:var(--hud-accent,#4da3ff);font-size:13px}.drop-hint[data-v-effff4e2]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-accent,#4da3ff);align-items:center;gap:5px;padding:2px 0 4px;font-size:10px;display:inline-flex}.upload-file-tag[data-v-effff4e2]{font-family:var(--font-mono);color:var(--hud-dim,#8496a5);border:1px solid var(--hud-line,#263340);border-radius:2px;padding:3px 6px;font-size:9.5px}.upload-actions[data-v-effff4e2]{align-items:center;gap:6px;display:flex}.upload-btn[data-v-effff4e2]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-text,#d9e4ee);background:var(--hud-panel-raised,#141b26);border:1px solid var(--hud-line,#263340);cursor:pointer;transition:border-color .14s var(--hud-ease,ease), color .14s var(--hud-ease,ease);border-radius:2px;padding:5px 10px;font-size:10px;font-weight:600}.upload-btn[data-v-effff4e2]:hover:not(:disabled){border-color:var(--hud-accent,#4da3ff);color:var(--hud-accent,#4da3ff)}.upload-btn[data-v-effff4e2]:disabled{opacity:.45;cursor:default}.upload-btn.go[data-v-effff4e2]{color:var(--hud-amber,#f5a742);background:#f5a74214;border-color:#f5a7428c}.upload-btn.go[data-v-effff4e2]:hover:not(:disabled){border-color:var(--hud-amber,#f5a742);color:var(--hud-amber,#f5a742);background:#f5a74229}.mini-err[data-v-effff4e2]{font-family:var(--font-mono);color:var(--hud-danger,#ff6b5c);font-size:9.5px}.mini-err[data-v-effff4e2],.mini-msg[data-v-effff4e2]{font-size:10px}.mini-msg[data-v-effff4e2]{font-family:var(--font-mono);color:var(--hud-dim,#8496a5);padding:0 10px}.lib-grid[data-v-effff4e2]{flex-direction:column;gap:4px;max-height:42vh;padding:6px 10px 2px;display:flex;overflow:hidden auto}.model-card[data-v-effff4e2]{cursor:grab;transition:background .14s var(--hud-ease,ease);background:#141b26a6;border:0;border-radius:2px;flex-direction:column;align-items:stretch;gap:4px;padding:6px;display:flex;position:relative}.model-card[data-v-effff4e2]:hover{background:var(--hud-panel-hover,#1a2432)}.model-card[data-v-effff4e2]:active{cursor:grabbing}.model-card .model-preview-3d[data-v-effff4e2]{margin-bottom:2px}.model-name[data-v-effff4e2]{color:var(--hud-text,#d9e4ee);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:0 2px;font-size:11px;font-weight:600;overflow:hidden}.model-badge[data-v-effff4e2]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-faint,#5b6c7b);text-align:left;padding:0 2px;font-size:8.5px}.card-actions[data-v-effff4e2]{justify-content:flex-end;gap:4px;display:flex}.card-btn[data-v-effff4e2]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-text,#d9e4ee);border:1px solid var(--hud-line,#263340);cursor:pointer;transition:border-color .14s var(--hud-ease,ease), color .14s var(--hud-ease,ease);background:0 0;border-radius:2px;padding:2px 8px;font-size:10px;font-weight:600}.card-btn[data-v-effff4e2]:hover:not(:disabled){border-color:var(--hud-accent,#4da3ff);color:var(--hud-accent,#4da3ff)}.card-btn.danger[data-v-effff4e2]{color:var(--hud-danger,#ff6b5c)}.card-btn.danger[data-v-effff4e2]:hover:not(:disabled){border-color:var(--hud-danger,#ff6b5c);color:var(--hud-danger,#ff6b5c)}.card-btn[data-v-effff4e2]:disabled{opacity:.45;cursor:default}.model-img[data-v-effff4e2]{-o-object-fit:contain;object-fit:contain;pointer-events:none;width:46px;height:68px}.model-img.glb[data-v-effff4e2]{background:var(--hud-input,#0b1018);border:1px dashed var(--hud-line,#263340);border-radius:2px;justify-content:center;align-items:center;width:100%;height:44px;display:inline-flex}.glb-cube[data-v-effff4e2]{color:var(--hud-faint,#5b6c7b);font-size:24px;line-height:1}.lib-note[data-v-effff4e2]{font-family:var(--font-mono);color:var(--hud-faint,#5b6c7b);align-items:center;gap:7px;padding:8px 2px;font-size:9.5px;display:flex}.loading-dot[data-v-effff4e2]{border:2px solid var(--hud-line,#263340);border-top-color:var(--hud-accent,#4da3ff);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin-effff4e2}@keyframes spin-effff4e2{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading-dot[data-v-effff4e2]{animation:none}}.twin-panel[data-v-2eb2660e]{width:auto;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:none;gap:8px;padding:0;display:flex}.twin-head[data-v-2eb2660e]{border-bottom:1px solid #26334073;align-items:center;gap:8px;padding:10px 12px 6px;display:flex}.twin-error[data-v-2eb2660e]{color:#ffb4b4;word-break:break-all;background:#ff6b6b1a;border:1px solid #ff6b6b59;border-radius:8px;padding:7px 10px;font-size:11px;line-height:1.5}.twin-kicker[data-v-2eb2660e]{font-family:var(--font-mono);letter-spacing:.16em;color:var(--hud-text,#d9e4ee);font-size:10px;font-weight:600}.twin-count[data-v-2eb2660e]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-dim,#8496a5);margin-left:auto;font-size:10px}.twin-empty[data-v-2eb2660e]{padding:10px}.twin-empty-frame[data-v-2eb2660e]{border:1px dashed var(--hud-line);flex-direction:column;gap:4px;padding:12px 10px;display:flex}.twin-empty-title[data-v-2eb2660e]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-text);font-size:11px}.twin-empty-sub[data-v-2eb2660e]{color:var(--hud-dim);font-size:10px;line-height:1.6}.twin-list[data-v-2eb2660e]{flex-direction:column;gap:4px;max-height:46vh;padding:4px 0 10px;display:flex;overflow:hidden auto}.twin-card[data-v-2eb2660e]{text-align:left;cursor:pointer;background:#141b26a6;border:0;border-radius:2px;flex-direction:column;gap:6px;margin:0 10px;padding:8px 9px;transition:background .16s;display:flex}.twin-card[data-v-2eb2660e]:hover{background:var(--hud-panel-hover)}.twin-card[data-v-2eb2660e]:active{background:var(--hud-panel-raised)}.twin-card:hover .twin-name[data-v-2eb2660e]{color:#e8f1f8}.twin-card.daq[data-v-2eb2660e]{background:#35e0a00f;border:1px solid #35e0a052}.twin-card.daq[data-v-2eb2660e]:hover{background:#35e0a01c;border-color:#35e0a080}.twin-card.daq .twin-code[data-v-2eb2660e],.twin-card.daq .twin-model-tag[data-v-2eb2660e]{color:var(--hud-accent,#35e0a0)}.twin-row[data-v-2eb2660e]{align-items:center;gap:8px;min-width:0;display:flex}.twin-model-tag[data-v-2eb2660e]{min-width:30px;font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-faint);flex:none;font-size:9px;font-weight:600}.twin-idbar[data-v-2eb2660e]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.twin-name[data-v-2eb2660e]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.twin-code[data-v-2eb2660e]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-dim);font-size:9px}.twin-del[data-v-2eb2660e]{width:18px;height:18px;font-family:var(--font-mono);color:var(--hud-dim,#8496a5);border:1px solid var(--hud-line,#263340);cursor:pointer;background:0 0;border-radius:2px;flex:none;font-size:9px;line-height:1;transition:border-color .14s,color .14s,background .14s}.twin-del[data-v-2eb2660e]:hover:not(:disabled){border-color:var(--hud-danger,#ff6b5c);color:var(--hud-danger,#ff6b5c)}.twin-del.armed[data-v-2eb2660e]{color:#1a0d0a;background:var(--hud-danger,#ff6b5c);border-color:var(--hud-danger,#ff6b5c);width:auto;padding:0 5px}.twin-del[data-v-2eb2660e]:disabled{opacity:.4;cursor:default}.twin-state[data-v-2eb2660e]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-dim);border:1px solid var(--hud-line);border-radius:2px;flex:none;align-items:center;gap:5px;padding:2px 5px;font-size:8.5px;display:inline-flex}.twin-state.s-alarm[data-v-2eb2660e]{color:var(--hud-danger);border-color:#ff6b5c80}.twin-state.s-running[data-v-2eb2660e]{color:var(--hud-ok);border-color:#7fd4a066}.twin-state-dot[data-v-2eb2660e]{border-radius:50%;width:5px;height:5px}.twin-tele[data-v-2eb2660e]{border-top:1px dashed var(--hud-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px;margin:0 0 2px;padding-top:6px;display:grid}.tele-item[data-v-2eb2660e]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-dim);justify-content:space-between;gap:6px;min-width:0;font-size:9.5px;display:flex}.tele-item em[data-v-2eb2660e]{text-overflow:ellipsis;font-style:normal;overflow:hidden}.tele-item b[data-v-2eb2660e]{color:var(--hud-text);font-weight:500}.twin-daq[data-v-2eb2660e]{border-top:1px dashed #35e0a04d;flex-direction:column;gap:2px;margin:0 0 2px;padding-top:6px;display:flex}.daq-item[data-v-2eb2660e]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-accent,#35e0a0);justify-content:space-between;align-items:baseline;gap:6px;min-width:0;font-size:9.5px;display:flex}.daq-item em[data-v-2eb2660e]{text-overflow:ellipsis;white-space:nowrap;opacity:.85;font-style:normal;overflow:hidden}.daq-item b[data-v-2eb2660e]{white-space:nowrap;font-size:10.5px;font-weight:700}.daq-item b i[data-v-2eb2660e]{opacity:.75;margin-left:2px;font-size:8.5px;font-style:normal;font-weight:500}.daq-item.alarm[data-v-2eb2660e]{color:var(--hud-amber,#f6c453)}.twin-dcw[data-v-2eb2660e]{border-top:1px dashed #f0a04c59;flex-direction:column;gap:6px;margin:0 0 2px;padding-top:6px;display:flex}.dcw-item[data-v-2eb2660e]{flex-direction:column;gap:3px;display:flex}.dcw-head[data-v-2eb2660e]{font-family:var(--font-mono);color:var(--hud-dim);justify-content:space-between;align-items:baseline;gap:6px;font-size:9.5px;display:flex}.dcw-head em[data-v-2eb2660e]{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.dcw-src[data-v-2eb2660e]{color:var(--hud-amber,#f6c453);border:1px solid #f0a04c80;border-radius:2px;margin-left:4px;padding:0 3px;font-size:8px;font-style:normal}.dcw-set[data-v-2eb2660e]{font-variant-numeric:tabular-nums;color:var(--hud-amber,#f6c453);white-space:nowrap;font-size:12px;font-weight:700}.dcw-set i[data-v-2eb2660e]{opacity:.75;margin-left:2px;font-size:8.5px;font-style:normal;font-weight:500}.dcw-act[data-v-2eb2660e]{font-family:var(--font-mono);color:var(--hud-dim);justify-content:space-between;align-items:baseline;gap:6px;font-size:9px;display:flex}.dcw-act em[data-v-2eb2660e]{letter-spacing:.08em;color:var(--hud-faint);font-size:8px;font-style:normal}.dcw-act b[data-v-2eb2660e]{font-variant-numeric:tabular-nums;color:var(--hud-accent,#35e0a0);white-space:nowrap;font-size:11.5px;font-weight:700}.dcw-act b i[data-v-2eb2660e]{opacity:.75;margin-left:2px;font-size:8.5px;font-style:normal;font-weight:500}.dcw-act-at[data-v-2eb2660e]{color:var(--hud-faint);font-size:8px;font-style:normal}.dcw-win[data-v-2eb2660e]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-faint);letter-spacing:.04em;font-size:8.5px}.dcw-win span[data-v-2eb2660e]{border-bottom:1px dotted var(--hud-line);padding-bottom:1px}.dcw-ctrl[data-v-2eb2660e]{align-items:center;gap:4px;display:flex}.dcw-ctrl .ctrl-input[data-v-2eb2660e]{flex:1;width:auto;min-width:0}.dcw-send[data-v-2eb2660e]{color:var(--hud-amber,#f6c453);border-color:#f0a04c80;flex:none}.dcw-send[data-v-2eb2660e]:hover:not(:disabled){color:var(--hud-amber,#f6c453);border-color:var(--hud-amber,#f6c453);background:#f0a04c1f}.dcw-err[data-v-2eb2660e]{font-family:var(--font-mono);color:var(--hud-danger,#ff6b5c);font-size:8.5px}.ctrl-btn[data-v-2eb2660e]{letter-spacing:.06em;font-size:9px;font-weight:600;font-family:var(--font-mono);color:var(--hud-text);border:1px solid var(--hud-line);cursor:pointer;background:0 0;border-radius:2px;padding:3px 7px;transition:border-color .14s,color .14s,background .14s}.ctrl-btn[data-v-2eb2660e]:hover:not(:disabled){border-color:var(--hud-accent);color:var(--hud-accent)}.ctrl-btn[data-v-2eb2660e]:disabled{opacity:.45;cursor:default}.ctrl-input[data-v-2eb2660e]{width:48px;font-family:var(--font-mono);border:1px solid var(--hud-line);background:var(--hud-input);color:var(--hud-text);font-variant-numeric:tabular-nums;border-radius:2px;padding:3px 6px;font-size:10px}.ctrl-input[data-v-2eb2660e]:focus{border-color:var(--hud-accent);outline:none}.twin-err[data-v-2eb2660e]{color:var(--hud-danger);padding:0 10px 8px;font-size:9.5px}.town-view[data-v-1444af6d]{--hud-bg:#070b13;--hud-panel:#0d1420;--hud-panel-2:#111a2b;--hud-panel-raised:#152034;--hud-panel-hover:#16233a;--hud-line:#1d2a42;--hud-line-soft:#16202f;--hud-line-hi:#2c4568;--hud-input:#0a111d;--hud-text:#e8eef8;--hud-dim:#8fa0b5;--hud-faint:#5f6e84;--hud-accent:#35e0a0;--hud-accent-dim:#1f9e6e;--hud-cyan:#41c8f4;--hud-amber:#f6c453;--hud-ok:#35e0a0;--hud-danger:#ff6b6b;--hud-shadow:0 16px 40px #0000008c;--hud-ease:cubic-bezier(.22, .68, .36, 1);--hud-r-sm:8px;--hud-r-md:10px;--hud-r-lg:12px;background:var(--hud-bg);height:100%;min-height:0;color:var(--hud-text);font-family:var(--font-body);flex-direction:column;font-size:13px;display:flex}.topnav[data-v-1444af6d]{border-bottom:1px solid var(--hud-line-soft);z-index:60;background:linear-gradient(#0c1320,#0a101b);flex:none;align-items:center;gap:14px;height:50px;padding:0 16px;display:flex;position:relative}.topnav[data-v-1444af6d]:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 4%,#35e0a059 50%,#0000 96%);height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand[data-v-1444af6d]{align-items:center;gap:10px;min-width:230px;display:flex}.brand-glyph[data-v-1444af6d]{flex:none;width:26px;height:26px}.brand-name[data-v-1444af6d]{letter-spacing:.06em;font-size:14.5px;font-weight:800}.brand-name em[data-v-1444af6d]{color:var(--hud-accent);font-style:normal}.brand-sub[data-v-1444af6d]{color:var(--hud-faint);letter-spacing:.18em;margin-top:2px;font-size:10px}.nav-tabs[data-v-1444af6d]{align-items:center;gap:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-action[data-v-1444af6d]{border-radius:var(--hud-r-sm);height:32px;color:var(--hud-text);transition:background .15s var(--hud-ease), border-color .15s var(--hud-ease);background:0 0;border:1px solid #27395c;padding:0 14px;font-size:12px;font-weight:600}.nav-action[data-v-1444af6d]:hover{background:#14203a;border-color:#33507c}.save-chip[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--hud-line);color:var(--hud-dim);white-space:nowrap;border-radius:6px;padding:3px 9px;font-size:10px}.save-chip.s-dirty[data-v-1444af6d]{color:var(--hud-amber);border-color:#f6c45366}.save-chip.s-saving[data-v-1444af6d]{color:var(--hud-dim)}.save-chip.s-saved[data-v-1444af6d]{color:var(--hud-accent);border-color:#35e0a066}.save-chip.s-error[data-v-1444af6d]{color:var(--hud-danger);border-color:#ff6b6b66}.nav-right[data-v-1444af6d]{align-items:center;gap:10px;margin-left:auto;display:flex}.nav-chip[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-dim);border:1px solid var(--hud-line);font-variant-numeric:tabular-nums;border-radius:6px;padding:2px 8px;font-size:10.5px}.avatar-chip[data-v-1444af6d]{border:1px solid var(--hud-line-soft);background:#0e1626;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex}.avatar-chip span[data-v-1444af6d]{color:var(--hud-text);font-size:12px}.avatar-fallback[data-v-1444af6d]{color:#04120c;background:linear-gradient(135deg,#1f9e6e,#41c8f4);border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:grid}.seg[data-v-1444af6d]{border:1px solid var(--hud-line);border-radius:var(--hud-r-sm);background:#0a111d;padding:2px;display:inline-flex}.seg button[data-v-1444af6d]{color:var(--hud-dim);transition:background .15s var(--hud-ease), color .15s var(--hud-ease);border-radius:6px;padding:4px 16px;font-size:11.5px;font-weight:600}.seg button.on[data-v-1444af6d]{background:var(--hud-accent);color:#04120c;box-shadow:0 0 12px #35e0a059}.app[data-v-1444af6d]{flex:1;grid-template-columns:250px minmax(540px,1fr) 342px;min-height:0;display:grid}.rail[data-v-1444af6d]{background:linear-gradient(#0a101c,#080d16);flex-direction:column;gap:10px;min-height:0;padding:10px;display:flex;overflow:hidden auto}.rail-left[data-v-1444af6d]{border-right:1px solid var(--hud-line-soft)}.rail-right[data-v-1444af6d]{border-left:1px solid var(--hud-line-soft)}.rail[data-v-1444af6d]::-webkit-scrollbar{width:8px}.rail[data-v-1444af6d]::-webkit-scrollbar-thumb{background:#1c2942;border:2px solid #080d16;border-radius:4px}.rail[data-v-1444af6d]::-webkit-scrollbar-track{background:0 0}.ins-enter-active[data-v-1444af6d]{transition:opacity .2s var(--hud-ease), transform .2s var(--hud-ease)}.ins-leave-active[data-v-1444af6d]{transition:opacity .12s}.ins-enter-from[data-v-1444af6d]{opacity:0;transform:translate(12px)}.ins-leave-to[data-v-1444af6d]{opacity:0}.panel[data-v-1444af6d]{border:1px solid var(--hud-line);border-radius:var(--hud-r-lg);background:linear-gradient(#101827,#0d1420);flex:none;padding:12px;position:relative;box-shadow:inset 0 1px #8fb0dc12,0 10px 28px #03070e73}.panel[data-v-1444af6d]:before{content:"";border-radius:var(--hud-r-lg) var(--hud-r-lg) 0 0;pointer-events:none;background:linear-gradient(#78a5dc0e,#0000);height:44px;position:absolute;inset:0 0 auto}.panel-hd[data-v-1444af6d]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-hd h3[data-v-1444af6d]{letter-spacing:.02em;flex:1;margin:0;padding-left:11px;font-size:12.5px;font-weight:700;position:relative}.panel-hd h3[data-v-1444af6d]:before{content:"";background:var(--hud-accent);width:3px;height:12px;box-shadow:0 0 8px color-mix(in srgb, var(--hud-accent) 45%, transparent);border-radius:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.panel-tag[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-cyan);background:#41c8f41a;border:1px solid #41c8f440;border-radius:6px;padding:0 6px;font-size:9.5px;line-height:15px}.lib-embed[data-v-1444af6d]{margin:-4px 0 0}.daq-list[data-v-1444af6d],.scene-list[data-v-1444af6d]{flex-direction:column;gap:4px;display:flex}.daq-card[data-v-1444af6d]{border-radius:var(--hud-r-md);background:var(--hud-panel-2);cursor:grab;transition:transform .15s var(--hud-ease), border-color .15s var(--hud-ease), background .15s var(--hud-ease);border:1px solid #1f4a3a8c;align-items:center;gap:10px;margin-bottom:4px;padding:8px 9px;display:flex}.daq-card[data-v-1444af6d]:hover{background:#12291f;border-color:#35e0a080;transform:translateY(-1px)}.daq-card[data-v-1444af6d]:active{cursor:grabbing}.daq-ico[data-v-1444af6d]{width:34px;height:34px;color:var(--hud-accent);background:linear-gradient(160deg,#12291f,#0e1a24);border:1px solid #1f4a3aa6;border-radius:9px;flex:none;place-items:center;display:grid}.daq-svg[data-v-1444af6d]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.daq-meta[data-v-1444af6d]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.daq-name[data-v-1444af6d]{color:var(--hud-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.daq-code[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-faint);font-size:9px}.daq-count[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-accent);background:#35e0a01a;border:1px solid #35e0a047;border-radius:6px;flex:none;padding:0 6px;font-size:9px;line-height:15px}.daq-group[data-v-1444af6d]{flex-direction:column;display:flex}.daq-card.tpl[data-v-1444af6d]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0}.daq-card.tpl[data-v-1444af6d]:active{cursor:pointer}.daq-card.tpl[data-v-1444af6d]:focus-visible{outline:1px solid var(--hud-accent);outline-offset:1px}.daq-caret[data-v-1444af6d]{color:var(--hud-faint);transition:transform .15s var(--hud-ease);flex:none;font-size:8px}.daq-card.tpl.open .daq-caret[data-v-1444af6d]{transform:rotate(90deg)}.daq-card.tpl[data-v-1444af6d]:hover{transform:none}.daq-add[data-v-1444af6d]{width:18px;height:18px;color:var(--hud-faint);cursor:pointer;opacity:0;transition:opacity .15s var(--hud-ease), color .15s var(--hud-ease), border-color .15s var(--hud-ease), transform .16s cubic-bezier(.22, 1, .36, 1);background:0 0;border:1px solid #2c4568b3;border-radius:6px;flex:none;place-items:center;font-size:12px;line-height:1;display:grid}.daq-card.tpl:focus-within .daq-add[data-v-1444af6d],.daq-card.tpl:hover .daq-add[data-v-1444af6d]{opacity:1}@media (hover:none){.daq-add[data-v-1444af6d]{opacity:1}}.daq-add[data-v-1444af6d]:hover{color:var(--hud-accent);border-color:#35e0a080}.daq-add[data-v-1444af6d]:active{transform:scale(.9)}.daq-children[data-v-1444af6d]{animation:daq-tree-in-1444af6d .16s var(--hud-ease);flex-direction:column;gap:2px;margin:2px 0 6px;padding-left:16px;display:flex}@keyframes daq-tree-in-1444af6d{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.daq-node[data-v-1444af6d]{cursor:default;transition:background .15s var(--hud-ease), border-color .15s var(--hud-ease), transform .16s cubic-bezier(.22, 1, .36, 1);border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;display:flex}.daq-node[data-v-1444af6d]:hover{background:#111b2c;border-color:#2c456899}.daq-node[draggable=true][data-v-1444af6d]{cursor:grab}.daq-node[draggable=true][data-v-1444af6d]:active{cursor:grabbing;transform:scale(.98)}.daq-node.placed[data-v-1444af6d]{cursor:pointer}.daq-node.placed[draggable=true][data-v-1444af6d]{cursor:grab}.node-dot[data-v-1444af6d]{background:var(--hud-ok);width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb, var(--hud-ok) 50%, transparent);border-radius:50%;flex:none}.node-dot.offline[data-v-1444af6d]{border:1px solid var(--hud-faint);box-shadow:none;background:0 0}.node-dot.warn[data-v-1444af6d]{background:var(--hud-amber);box-shadow:0 0 6px color-mix(in srgb, var(--hud-amber) 50%, transparent)}.node-dot.alarm[data-v-1444af6d]{background:var(--hud-danger);box-shadow:0 0 6px color-mix(in srgb, var(--hud-danger) 60%, transparent)}.daq-node .daq-name[data-v-1444af6d]{font-size:11.5px;font-weight:500}.daq-node-sub[data-v-1444af6d]{align-items:baseline;gap:7px;min-width:0;display:flex}.node-val[data-v-1444af6d]{color:var(--hud-cyan);flex:none;font-size:10px}.node-dev[data-v-1444af6d]{color:var(--hud-faint);white-space:nowrap;text-overflow:ellipsis;max-width:104px;font-size:9.5px;overflow:hidden}.daq-empty-hint[data-v-1444af6d]{color:var(--hud-faint);padding:4px 8px 6px 10px;font-size:10px}.scene-row[data-v-1444af6d]{border-radius:var(--hud-r-md);cursor:grab;transition:background .15s var(--hud-ease), border-color .15s var(--hud-ease);border:1px solid #0000;align-items:center;gap:10px;margin-bottom:4px;padding:8px 9px;display:flex}.scene-row[data-v-1444af6d]:hover{background:#111b2c}.scene-row.active[data-v-1444af6d]{background:#35e0a00f;border-color:#35e0a059}.scene-row[data-v-1444af6d]:active{cursor:grabbing}.scene-ico[data-v-1444af6d]{background:color-mix(in srgb, var(--ch,var(--hud-accent)) 16%, #101a2c);border:1px solid color-mix(in srgb, var(--ch,var(--hud-accent)) 45%, transparent);border-radius:8px;flex:none;width:30px;height:30px}.scene-row.active .scene-ico[data-v-1444af6d]{box-shadow:0 0 10px color-mix(in srgb, var(--ch,var(--hud-accent)) 40%, transparent)}.scene-meta-wrap[data-v-1444af6d]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scene-name[data-v-1444af6d]{color:var(--hud-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.scene-meta[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-faint);font-size:9px}.scene-add[data-v-1444af6d],.scene-cur[data-v-1444af6d]{border-radius:6px;flex:none;margin-left:auto;padding:1px 7px;font-size:10px}.scene-cur[data-v-1444af6d]{color:var(--hud-accent);border:1px solid #35e0a066}.scene-add[data-v-1444af6d]{color:var(--hud-dim);border:1px solid var(--hud-line)}.scene-hint[data-v-1444af6d]{color:var(--hud-amber);padding:6px 4px 0;font-size:10px;line-height:1.5}.stage-col[data-v-1444af6d]{flex-direction:column;min-width:0;min-height:0;display:flex}.stage[data-v-1444af6d]{background:#060a11;flex:1;min-height:320px;position:relative;overflow:hidden}.stage[data-v-1444af6d]:fullscreen{border-radius:0}.town-host[data-v-1444af6d]{position:absolute;inset:0}.town-host canvas[data-v-1444af6d]{image-rendering:auto;display:block}.stage-vignette[data-v-1444af6d]{pointer-events:none;z-index:3;background:radial-gradient(120% 90% at 50% 38%,#0000 52%,#02040980 100%),linear-gradient(#080d1852,#0000 18%),repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 3px);position:absolute;inset:0}.stage-top[data-v-1444af6d]{z-index:6;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:14px 16px;display:flex;position:absolute;top:0;left:0;right:0}.stage-top[data-v-1444af6d]>*{pointer-events:auto}.vp-title[data-v-1444af6d]{border-radius:var(--hud-r-md);-webkit-backdrop-filter:blur(8px);background:#090e18b8;border:1px solid #1c2942;align-items:center;gap:10px;padding:8px 12px;display:flex}.vp-title h2[data-v-1444af6d]{letter-spacing:.02em;margin:0;font-size:15px;font-weight:700}.vp-id[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.04em;color:var(--hud-dim);white-space:nowrap;background:#0a111d99;border:1px solid #223050;border-radius:6px;padding:1px 8px;font-size:10px}.vp-tools[data-v-1444af6d]{align-items:center;gap:8px;display:flex}.vp-tool[data-v-1444af6d]{width:34px;height:34px;color:var(--hud-dim);-webkit-backdrop-filter:blur(8px);transition:color .15s var(--hud-ease), border-color .15s var(--hud-ease), background .15s var(--hud-ease);background:#0d1420d9;border:1px solid #223050;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.vp-tool[data-v-1444af6d]:hover{color:var(--hud-text);border-color:#33507c}.vp-tool.on[data-v-1444af6d]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent);box-shadow:0 0 12px #35e0a04d}.vp-svg[data-v-1444af6d]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.leaders[data-v-1444af6d]{z-index:7;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.angle-chip[data-v-1444af6d]{z-index:6;border-radius:var(--hud-r-sm);-webkit-backdrop-filter:blur(8px);color:var(--hud-dim);background:#090e18c7;border:1px solid #1c2942;align-items:center;gap:6px;padding:5px 8px;font-size:11.5px;display:flex;position:absolute;top:64px;left:16px}.angle-chip select[data-v-1444af6d]{color:var(--hud-text);cursor:pointer;background:0 0;border:0;font-size:11.5px;font-weight:600}.angle-chip select option[data-v-1444af6d]{background:#0e1626}.callout-layer[data-v-1444af6d]{z-index:7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.callout[data-v-1444af6d]{opacity:0;pointer-events:none;border-radius:var(--hud-r-md);min-width:150px;box-shadow:var(--hud-shadow);-webkit-backdrop-filter:blur(8px);transition:opacity .22s var(--hud-ease), transform .22s var(--hud-ease), border-color .15s var(--hud-ease);background:linear-gradient(#101a2bf0,#0a101cf0);border:1px solid #41c8f466;padding:9px 12px 8px;position:absolute;transform:translate(-50%,-112%)translateY(5px)}.callout.near[data-v-1444af6d]{opacity:1;pointer-events:auto;transform:translate(-50%,-112%)}.leaders g[data-v-1444af6d]{opacity:0;transition:opacity .22s var(--hud-ease)}.leaders g.near[data-v-1444af6d]{opacity:1}.callout.warn[data-v-1444af6d]{border-color:#f6c45399}.co-label[data-v-1444af6d]{color:var(--hud-dim);white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;display:flex}.co-dot[data-v-1444af6d]{background:var(--hud-cyan);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 8px #41c8f4e6}.callout.warn .co-dot[data-v-1444af6d]{background:var(--hud-amber);box-shadow:0 0 8px #f6c453e6}.co-val[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--hud-text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:21px;font-weight:700}.co-val small[data-v-1444af6d]{color:var(--hud-dim);margin-left:3px;font-size:10.5px;font-weight:500}.co-range[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-faint);margin-top:1px;font-size:9.5px}.callout.warn .co-range[data-v-1444af6d]{color:var(--hud-amber)}.kpi-strip[data-v-1444af6d]{z-index:6;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 16px;display:flex;position:absolute;bottom:12px;left:0;right:0}.kpi[data-v-1444af6d]{pointer-events:auto;border-radius:var(--hud-r-md);-webkit-backdrop-filter:blur(8px);transition:border-color .2s var(--hud-ease), transform .2s var(--hud-ease), box-shadow .2s var(--hud-ease);background:linear-gradient(#141e30eb,#0c1320e6);border:1px solid #1e2c46;align-items:center;gap:10px;padding:8px 14px;display:flex;box-shadow:inset 0 1px #8fb0dc14,0 8px 20px #03070e66}.kpi[data-v-1444af6d]:hover{border-color:#2c4568;transform:translateY(-1px);box-shadow:inset 0 1px #8fb0dc1a,0 12px 26px #03070e80}.kpi-ico[data-v-1444af6d]{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.kpi-ico.c1[data-v-1444af6d]{color:var(--hud-cyan);background:#41c8f41f}.kpi-ico.c2[data-v-1444af6d]{color:var(--hud-accent);background:#35e0a01f}.kpi-ico.c3[data-v-1444af6d]{color:var(--hud-amber);background:#f6c4531f}.kpi-ico.c4[data-v-1444af6d]{color:#a78bfa;background:#a78bfa24}.kpi-ico.c5[data-v-1444af6d]{color:var(--hud-danger);background:#ff6b6b1f}.kpi-svg[data-v-1444af6d]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.kpi-meta[data-v-1444af6d]{line-height:1.25}.kpi-label[data-v-1444af6d]{color:var(--hud-dim);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.kpi-val[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:19px;font-weight:700}.kpi-val small[data-v-1444af6d]{color:var(--hud-faint);margin-left:2px;font-size:10px;font-weight:500}.empty-hint[data-v-1444af6d]{z-index:4;text-align:center;color:var(--hud-dim);pointer-events:none;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.empty-hint b[data-v-1444af6d]{color:var(--hud-text);margin-bottom:4px;font-size:14px;display:block}.empty-hint span[data-v-1444af6d]{font-size:12px}@media (prefers-reduced-motion:no-preference){.dock[data-v-1444af6d],.rail-left[data-v-1444af6d],.rail-right[data-v-1444af6d]{animation:.52s cubic-bezier(.22,.68,.36,1) backwards hud-boot-1444af6d}.rail-left[data-v-1444af6d]{animation-delay:40ms}.rail-right[data-v-1444af6d]{animation-delay:.15s}.dock[data-v-1444af6d]{animation-delay:.26s}}@keyframes hud-boot-1444af6d{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dock[data-v-1444af6d]{border-top:1px solid var(--hud-line-soft);background:#080d16;flex:none;grid-template-columns:308px 1fr;gap:10px;padding:10px;display:grid}.dock-card[data-v-1444af6d]{border:1px solid var(--hud-line);border-radius:var(--hud-r-lg);background:linear-gradient(#101827,#0d1420);flex-direction:column;min-height:178px;padding:12px 14px;display:flex}.dock-hd[data-v-1444af6d]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.dock-hd h3[data-v-1444af6d]{flex:none;margin:0;font-size:12.5px;font-weight:700}.dock-count[data-v-1444af6d]{letter-spacing:.08em;color:var(--hud-dim);border:1px solid var(--hud-line-soft);border-radius:6px;flex:none;padding:1px 7px;font-size:9.5px}.dock-mode[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-faint);border:1px solid var(--hud-line);border-radius:6px;margin-left:auto;padding:1px 7px;font-size:9px}.ctl-row[data-v-1444af6d]{align-items:center;gap:10px;margin-bottom:9px;display:flex}.ctl-sec[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--hud-faint);border-top:1px solid var(--hud-line-soft);margin:2px 0 7px;padding-top:7px;font-size:8.5px;font-weight:600}.ctl-sec[data-v-1444af6d]:first-of-type{border-top:0;margin-top:0;padding-top:0}.ctl-name[data-v-1444af6d]{color:var(--hud-dim);flex:none;width:64px;font-size:11.5px}.ctl-val[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-text);text-align:right;font-variant-numeric:tabular-nums;flex:none;width:38px;font-size:11px}.ctl-range[data-v-1444af6d]{appearance:none;background:linear-gradient(90deg, var(--hud-accent-dim) var(--fill,50%), #1d2a42 var(--fill,50%));cursor:pointer;border-radius:2px;flex:1;height:4px}.ctl-range[data-v-1444af6d]::-webkit-slider-thumb{-webkit-appearance:none;border:2.5px solid var(--hud-accent);width:13px;height:13px;-webkit-transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);background:#fff;border-radius:50%;box-shadow:0 1px 4px #00000080}.ctl-range[data-v-1444af6d]:hover::-webkit-slider-thumb{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a01f,0 1px 4px #00000080}.ctl-range[data-v-1444af6d]:active::-webkit-slider-thumb{transform:scale(1.05)}.bp-range[data-v-1444af6d]{accent-color:var(--hud-accent)}.snap-toggle[data-v-1444af6d]{height:22px;color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;border-radius:6px;flex:1;font-size:10.5px;font-weight:600}.snap-toggle.on[data-v-1444af6d]{color:var(--hud-accent);background:#35e0a014;border-color:#35e0a066}.fps-seg[data-v-1444af6d]{flex:1;gap:4px;display:flex}.fps-seg button[data-v-1444af6d]{height:22px;font-family:var(--font-mono);color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;transition:border-color .14s var(--hud-ease), color .14s var(--hud-ease), background .14s var(--hud-ease);border-radius:6px;flex:1;font-size:10.5px;font-weight:600}.fps-seg button[data-v-1444af6d]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.fps-seg button.on[data-v-1444af6d]{color:var(--hud-accent);background:#35e0a014;border-color:#35e0a066}.ctl-btns[data-v-1444af6d]{gap:8px;margin-top:auto;display:flex}.btn[data-v-1444af6d]{border-radius:var(--hud-r-sm);white-space:nowrap;cursor:pointer;height:32px;transition:filter .15s var(--hud-ease), background .15s var(--hud-ease), border-color .15s var(--hud-ease);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.btn-primary[data-v-1444af6d]{background:var(--hud-accent-dim);color:#04120c}.btn-primary[data-v-1444af6d]:hover{background:#25b57e}.btn-ghost[data-v-1444af6d]{color:var(--hud-text);border:1px solid #27395c}.btn-ghost[data-v-1444af6d]:hover{background:#14203a;border-color:#33507c}.btn-danger[data-v-1444af6d]{color:#fff;background:#b3273a}.btn-danger[data-v-1444af6d]:hover{background:#d1304a}.btn[data-v-1444af6d]:not(:disabled):active{transform:translateY(1px)}.bind-select[data-v-1444af6d]:disabled,.btn[data-v-1444af6d]:disabled,.nav-action[data-v-1444af6d]:disabled,.obj-input[data-v-1444af6d]:disabled,.obj-mini[data-v-1444af6d]:disabled,.obj-select[data-v-1444af6d]:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.4)}.btn[data-v-1444af6d]:disabled:hover,.nav-action[data-v-1444af6d]:disabled:hover{background:inherit}.trend-legend[data-v-1444af6d]{scrollbar-width:thin;scrollbar-color:#1c2942 transparent;flex-wrap:wrap;flex:auto;align-content:flex-start;gap:5px;min-width:0;max-height:47px;margin-left:6px;transition:max-height .24s cubic-bezier(.22,.68,.36,1);display:flex;overflow-y:auto}.trend-legend.expanded[data-v-1444af6d]{max-height:100px}.trend-legend[data-v-1444af6d]::-webkit-scrollbar{width:6px}.trend-legend[data-v-1444af6d]::-webkit-scrollbar-thumb{background:#1c2942;border-radius:3px}.trend-legend[data-v-1444af6d]::-webkit-scrollbar-track{background:0 0}.lg-chip[data-v-1444af6d]{color:var(--hud-dim);border:1px solid var(--hud-line-soft);cursor:pointer;transition:opacity .15s var(--hud-ease), border-color .15s var(--hud-ease), color .15s var(--hud-ease);background:#0d142099;border-radius:6px;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;display:flex}.lg-chip[data-v-1444af6d]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.lg-chip.off[data-v-1444af6d]{opacity:.32}.lg-more[data-v-1444af6d]{letter-spacing:.04em;color:var(--hud-faint);border-style:dashed;font-size:10px}.lg-more[data-v-1444af6d]:hover{color:var(--hud-accent);border-color:#35e0a066}.lg-dot[data-v-1444af6d]{border-radius:2px;width:7px;height:7px}.trend-wrap[data-v-1444af6d]{flex:1;min-height:0;position:relative}.trend-cv[data-v-1444af6d]{width:100%;height:100%;position:absolute;inset:0}.trend-empty[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-faint);place-content:center;font-size:10.5px;display:grid;position:absolute;inset:0}.inspector[data-v-1444af6d]{animation:rise-1444af6d .18s var(--hud-ease)}@keyframes rise-1444af6d{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ins-chip-row[data-v-1444af6d]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.ins-chip[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-dim);border:1px solid #26354a;border-radius:6px;padding:1.5px 7px;font-size:9.5px}.ins-chip.accent[data-v-1444af6d]{color:var(--hud-accent);border-color:#35e0a066}.sect-hd[data-v-1444af6d]{color:var(--hud-faint);letter-spacing:.16em;align-items:center;gap:6px;margin:10px 0 7px;font-size:10px;font-weight:700;display:flex}.sect-hd[data-v-1444af6d]:before{content:"";background:var(--hud-accent);opacity:.55;border-radius:1px;width:3px;height:9px}.obj-row[data-v-1444af6d]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.obj-label[data-v-1444af6d]{width:52px;color:var(--hud-dim);flex:none;font-size:10.5px}.obj-input[data-v-1444af6d],.obj-select[data-v-1444af6d]{min-width:0;color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);transition:border-color .15s var(--hud-ease);border-radius:7px;flex:1;padding:5px 8px;font-size:11.5px}.obj-input[data-v-1444af6d]:focus,.obj-select[data-v-1444af6d]:focus{border-color:var(--hud-accent);outline:none}.obj-sep[data-v-1444af6d]{background:var(--hud-line-soft);height:1px;margin:8px 0}.range-status[data-v-1444af6d]{min-width:0;color:var(--hud-faint);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.obj-mini[data-v-1444af6d]{color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;border-radius:7px;flex:none;padding:4px 10px;font-size:10.5px;font-weight:600}.obj-mini.on[data-v-1444af6d]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.obj-mini.danger[data-v-1444af6d]{color:var(--hud-danger);width:100%;margin-top:4px}.obj-range[data-v-1444af6d]{accent-color:var(--hud-accent);flex:1}.bp-val[data-v-1444af6d]{text-align:right;width:40px;font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;flex:none;font-size:10.5px}.bp-seg[data-v-1444af6d]{gap:4px;display:flex}.seg-btn[data-v-1444af6d]{color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;transition:border-color .14s var(--hud-ease), color .14s var(--hud-ease), background .14s var(--hud-ease);border-radius:7px;padding:4px 12px;font-size:10.5px;font-weight:600}.seg-btn[data-v-1444af6d]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.seg-btn.on[data-v-1444af6d]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.xz-seg[data-v-1444af6d]{gap:6px;margin-bottom:8px;display:flex}.xz-seg .seg-btn[data-v-1444af6d]{flex:1}.scale-row[data-v-1444af6d]{align-items:center;gap:8px;display:flex}.scale-max[data-v-1444af6d],.scale-min[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-faint);font-size:9px}.scale-range[data-v-1444af6d]{accent-color:var(--hud-accent);flex:1}.scale-val[data-v-1444af6d]{text-align:center;font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:11px}.ins-foot[data-v-1444af6d]{gap:8px;margin-top:12px;display:flex}.ins-del[data-v-1444af6d]{color:var(--hud-danger);background:#ff6b6b1a;border:1px solid #ff6b6b66}.ins-del.armed[data-v-1444af6d]{background:var(--hud-danger);color:#fff}.ins-empty[data-v-1444af6d]{color:var(--hud-faint);text-align:center;padding:8px 0 6px;font-size:11px}.health-body[data-v-1444af6d]{align-items:center;gap:14px;display:flex}.donut-wrap[data-v-1444af6d]{flex:none;width:118px;height:118px;position:relative}.donut-wrap canvas[data-v-1444af6d]{width:118px;height:118px}.donut-center[data-v-1444af6d]{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.donut-center b[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-accent);font-size:21px;font-weight:700}.donut-center span[data-v-1444af6d]{color:var(--hud-faint);font-size:9.5px}.health-legend[data-v-1444af6d]{flex-direction:column;flex:1;gap:8px;display:flex}.hl-row[data-v-1444af6d]{align-items:center;gap:7px;font-size:11.5px;display:flex}.hl-dot[data-v-1444af6d]{border-radius:50%;flex:none;width:7px;height:7px}.hl-row .n[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-text);margin-left:auto;font-size:13px;font-weight:700}.event-list[data-v-1444af6d]{flex-direction:column;flex:1;min-height:0;max-height:200px;display:flex;overflow:hidden auto}.event-row[data-v-1444af6d]{transition:background .13s var(--hud-ease);border-radius:7px;align-items:center;gap:7px;padding:4px 6px;display:flex}.event-row[data-v-1444af6d]:hover{background:#35e0a00d}.ev-time[data-v-1444af6d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-faint);flex:none;font-size:9px}.ev-name[data-v-1444af6d]{text-overflow:ellipsis;white-space:nowrap;max-width:70px;font-family:var(--font-mono);color:var(--hud-text);flex:none;font-size:10px;font-weight:600;overflow:hidden}.ev-text[data-v-1444af6d]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hud-dim);flex:1;font-size:10.5px;overflow:hidden}.event-empty[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-faint);text-align:center;padding:12px;font-size:9.5px}.rail-empty[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-faint);text-align:center;flex-direction:column;align-items:center;gap:7px;padding:16px 10px 13px;font-size:9.5px;display:flex}.rail-empty .re-ico[data-v-1444af6d]{fill:none;width:19px;height:19px;stroke:var(--hud-faint);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.mm-body[data-v-1444af6d]{align-items:stretch;gap:8px;display:flex}.mm-wrap[data-v-1444af6d]{border-radius:var(--hud-r-md);background:#060b13;border:1px solid #223050;flex:1;min-height:148px;position:relative;overflow:hidden}.mini-svg[data-v-1444af6d]{cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.nav-cv[data-v-1444af6d]{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.alarm-list[data-v-1444af6d]{flex-direction:column;display:flex}.al-row[data-v-1444af6d]{border-radius:var(--hud-r-md);align-items:flex-start;gap:9px;padding:9px 8px;transition:background .15s;display:flex}.al-row[data-v-1444af6d]:hover{background:#101a2c}.al-ico[data-v-1444af6d]{border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.al-ico.crit[data-v-1444af6d]{color:var(--hud-danger);background:#ff6b6b1f}.al-ico.warn[data-v-1444af6d]{color:var(--hud-amber);background:#f6c4531f}.al-ico.info[data-v-1444af6d]{color:var(--hud-cyan);background:#41c8f41f}.al-svg[data-v-1444af6d]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.al-body[data-v-1444af6d]{flex:1;min-width:0}.al-txt[data-v-1444af6d]{color:var(--hud-text);font-size:12px;font-weight:500;line-height:1.35}.al-src[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-faint);margin-top:2px;font-size:9.5px}.al-state[data-v-1444af6d]{cursor:pointer;background:0 0;border:1px solid;border-radius:6px;flex:none;margin-top:2px;padding:2px 7px;font-size:9.5px;font-weight:600}.al-state.s0[data-v-1444af6d]{color:var(--hud-danger);background:#ff6b6b1a;border-color:#ff6b6b66}.al-state.s1[data-v-1444af6d]{color:var(--hud-amber);background:#f6c4531a;border-color:#f6c45359}.al-state.s2[data-v-1444af6d]{color:var(--hud-dim);background:#8fa0b514;border-color:#8fa0b54d}.nav-bell-warn[data-v-1444af6d]{color:var(--hud-danger);border-color:#ff6b6b80}.mm-col[data-v-1444af6d]{flex-direction:column;gap:6px;display:flex}.mm-col .vp-tool[data-v-1444af6d]{border-radius:8px;width:30px;height:30px}.mm-meta[data-v-1444af6d]{color:var(--hud-faint);letter-spacing:.08em;text-align:center;margin-top:8px;font-size:9.5px}.rpg-lines.chat-embed[data-v-1444af6d]{border:1px solid var(--hud-line-soft);border-radius:var(--hud-r-md);background:#0f172680;max-height:268px;padding:2px 0 4px}.chat-sect[data-v-1444af6d]{align-items:center;gap:8px;display:flex}.chat-sect .chat-refresh[data-v-1444af6d]{margin-left:auto}.chat-id-row[data-v-1444af6d]{align-items:center;gap:10px;margin-bottom:4px;display:flex}.chat-badge[data-v-1444af6d]{--p-acc:var(--hud-accent);width:34px;height:34px;font-family:var(--font-mono);color:var(--p-acc);background:color-mix(in srgb, var(--p-acc) 10%, transparent);border:1px solid color-mix(in srgb, var(--p-acc) 45%, transparent);border-radius:var(--hud-r-sm);flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.chat-nameplate[data-v-1444af6d]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.chat-name[data-v-1444af6d]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.chat-meta[data-v-1444af6d]{align-items:center;gap:6px;display:flex}.chat-state[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-dim);border:1px solid var(--hud-line);border-radius:6px;padding:1px 6px;font-size:8.5px}.chat-role[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.12em;border-radius:6px;padding:1px 7px;font-size:8.5px;font-weight:700}.chat-role.r-lead[data-v-1444af6d]{color:var(--hud-amber);background:#f6c4531a;border:1px solid #f6c45373}.chat-role.r-worker[data-v-1444af6d]{color:var(--hud-cyan);background:#41c8f41a;border:1px solid #41c8f466}.chat-state.s-busy[data-v-1444af6d]{color:var(--hud-amber);border-color:#f6c45380}.chat-state.s-stopped[data-v-1444af6d]{color:var(--hud-danger);border-color:#ff6b6b80}.chat-harness[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-faint);font-size:8.5px}.chat-count[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-faint);font-size:8.5px}.chat-refresh[data-v-1444af6d]{width:22px;height:22px;font-family:var(--font-mono);color:var(--hud-dim);border:1px solid var(--hud-line);cursor:pointer;transition:border-color .14s var(--hud-ease), color .14s var(--hud-ease), transform .32s var(--hud-ease);background:0 0;border-radius:6px;flex:none;font-size:11px}.chat-refresh[data-v-1444af6d]:hover{border-color:var(--hud-accent);color:var(--hud-accent)}.chat-refresh[data-v-1444af6d]:active{transform:rotate(180deg)}.rpg-lines[data-v-1444af6d]{flex-direction:column;flex:1;gap:7px;min-height:0;padding:10px 12px 12px;display:flex;overflow:hidden auto}.rpg-divider[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.2em;color:var(--hud-faint);margin:4px 0 2px;font-size:8.5px}.rpg-divider.live[data-v-1444af6d]{color:var(--hud-amber)}.rpg-line[data-v-1444af6d]{align-items:flex-start;gap:8px;display:flex}.rpg-time[data-v-1444af6d]{text-align:right;width:52px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-faint);flex:none;margin-top:5px;font-size:9px}.rpg-bubble[data-v-1444af6d]{background:var(--hud-panel-2);border:1px solid var(--hud-line);border-radius:var(--hud-r-md);flex-direction:column;flex:1;gap:2px;min-width:0;padding:7px 11px;display:flex}.rpg-line.hist[data-v-1444af6d]{opacity:.62}.rpg-line.live .rpg-bubble[data-v-1444af6d]{animation:rise-1444af6d .26s var(--hud-ease) both;border-color:var(--hud-line-hi);background:#14213a}.rpg-kind[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.14em;color:var(--hud-faint);align-self:flex-start;font-size:8px}.rpg-kind.k-artifact[data-v-1444af6d]{color:var(--hud-accent)}.rpg-kind.k-error[data-v-1444af6d]{color:var(--hud-danger)}.rpg-text[data-v-1444af6d]{color:var(--hud-text);word-break:break-word;text-wrap:pretty;font-size:13px;line-height:1.6}.rpg-line.live .rpg-text[data-v-1444af6d]{color:#edf4fa}.rpg-typing[data-v-1444af6d]{align-items:center;gap:4px;padding:5px 2px;display:flex}.ty-dot[data-v-1444af6d]{background:var(--hud-amber);width:5px;height:5px;animation:ty-bounce-1444af6d 1.15s var(--hud-ease) infinite;border-radius:50%}.ty-dot[data-v-1444af6d]:nth-child(2){animation-delay:.15s}.ty-dot[data-v-1444af6d]:nth-child(3){animation-delay:.3s}.ty-label[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-faint);margin-left:5px;font-size:9px}.rpg-note[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-dim);text-align:center;padding:14px 0;font-size:10px}.boundary-panel[data-v-1444af6d]{z-index:9;border:1px solid var(--hud-line);border-radius:var(--hud-r-lg);width:302px;box-shadow:var(--hud-shadow);-webkit-backdrop-filter:blur(8px);pointer-events:auto;background:linear-gradient(#101827f7,#0d1420f7);flex-direction:column;gap:7px;padding:12px 14px;display:flex;position:absolute;top:84px;left:16px}.bp-title[data-v-1444af6d]{border-bottom:1px solid var(--hud-line);cursor:grab;touch-action:none;align-items:center;gap:8px;padding-bottom:8px;display:flex}.bp-title[data-v-1444af6d]:active{cursor:grabbing}.bp-name[data-v-1444af6d]{color:var(--hud-text);font-size:13px;font-weight:700}.bp-sub[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.12em;color:var(--hud-faint);font-size:8.5px}.bp-tabs[data-v-1444af6d]{gap:4px;margin-left:auto;display:flex}.bp-tab[data-v-1444af6d]{color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;border-radius:6px;padding:3px 10px;font-size:10px;font-weight:600}.bp-tab.on[data-v-1444af6d]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.bp-row[data-v-1444af6d]{align-items:center;gap:8px;display:flex}.bp-label[data-v-1444af6d]{width:52px;color:var(--hud-dim);flex:none;font-size:10.5px}.bp-range[data-v-1444af6d]{appearance:none;background:linear-gradient(90deg, var(--hud-accent-dim) var(--fill,50%), #1d2a42 var(--fill,50%));cursor:pointer;border-radius:2px;flex:1;height:4px}.bp-range[data-v-1444af6d]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--hud-accent);width:12px;height:12px;-webkit-transition:transform .15s var(--hud-ease);transition:transform .15s var(--hud-ease);background:#fff;border-radius:50%}.bp-range[data-v-1444af6d]:hover::-webkit-slider-thumb{transform:scale(1.15)}.bp-hint[data-v-1444af6d]{color:var(--hud-faint);font-size:10px;line-height:1.6}.bp-actions[data-v-1444af6d]{gap:6px;margin-top:4px;display:flex}.bp-btn[data-v-1444af6d]{color:var(--hud-text);border-radius:var(--hud-r-sm);cursor:pointer;background:0 0;border:1px solid #27395c;flex:1;padding:6px 10px;font-size:11px;font-weight:600}.bp-btn[data-v-1444af6d]:hover{background:#14203a;border-color:#33507c}.bp-btn.save[data-v-1444af6d]{color:#04120c;background:var(--hud-accent-dim);border-color:var(--hud-accent-dim)}.bp-btn.save[data-v-1444af6d]:hover{background:#25b57e}.bp-btn.danger[data-v-1444af6d]{color:var(--hud-danger);border-color:#ff6b6b66}.bp-btn.danger[data-v-1444af6d]:hover{background:#ff6b6b1a}.member-list[data-v-1444af6d]{flex-direction:column;gap:5px;max-height:220px;display:flex;overflow:hidden auto}.member-row[data-v-1444af6d]{background:var(--hud-panel-2);border:1px solid var(--hud-line-soft);border-radius:var(--hud-r-md);align-items:center;gap:8px;padding:6px 8px;display:flex}.member-ava[data-v-1444af6d]{width:24px;height:24px;font-family:var(--font-mono);color:var(--hud-text);background:var(--hud-panel-raised);border:1px solid var(--hud-line);border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.member-info[data-v-1444af6d]{flex-direction:column;flex:1;min-width:0;display:flex}.member-name[data-v-1444af6d]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.member-role[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-faint);font-size:8.5px}.member-role.r-lead[data-v-1444af6d]{color:var(--hud-amber)}.member-role.r-worker[data-v-1444af6d]{color:var(--hud-cyan)}.member-select[data-v-1444af6d]{min-width:0;color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);border-radius:6px;flex:1;padding:3px 6px;font-size:10px}.drop-chip[data-v-1444af6d],.error-chip[data-v-1444af6d]{z-index:20;border-radius:var(--hud-r-md);box-shadow:var(--hud-shadow);-webkit-backdrop-filter:blur(8px);text-overflow:ellipsis;white-space:nowrap;background:#0e1626f5;border:1px solid #2a3d63;align-items:center;gap:8px;max-width:70%;padding:8px 14px;font-size:11.5px;display:flex;position:absolute;top:64px;left:50%;overflow:hidden;transform:translate(-50%)}.drop-chip[data-v-1444af6d]{color:var(--hud-accent)}.error-chip[data-v-1444af6d]{color:var(--hud-danger);border-color:#ff6b6b66}.bind-row[data-v-1444af6d]{border:1px solid var(--hud-line-soft);border-radius:var(--hud-r-md);background:#0f1726;align-items:center;gap:8px;margin-bottom:6px;padding:7px 9px;display:flex}.bind-ico[data-v-1444af6d]{width:26px;height:26px;color:var(--hud-accent);background:#0d1a26;border-radius:7px;flex:none;place-items:center;display:grid}.bind-svg[data-v-1444af6d]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.bind-meta[data-v-1444af6d]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.bind-label[data-v-1444af6d]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.bind-val[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-cyan);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.bind-val b[data-v-1444af6d]{font-size:11px;font-weight:700}.bind-spark[data-v-1444af6d]{flex:none;width:56px;height:20px}.bind-x[data-v-1444af6d]{width:22px;height:22px;color:var(--hud-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none}.bind-x[data-v-1444af6d]:hover{color:var(--hud-danger);background:#ff6b6b1f}.bind-add-wrap[data-v-1444af6d]{position:relative}.bind-add[data-v-1444af6d]{width:100%;height:30px;color:var(--hud-dim);border-radius:var(--hud-r-sm);cursor:pointer;background:0 0;border:1px dashed #274064;font-size:11px;transition:border-color .15s,color .15s}.bind-add[data-v-1444af6d]:hover{border-color:var(--hud-accent-dim);color:var(--hud-accent)}.bind-pop[data-v-1444af6d]{z-index:30;overscroll-behavior:contain;border-radius:var(--hud-r-md);max-height:min(46vh,420px);box-shadow:var(--hud-shadow-pop,0 16px 40px #0000008c);background:#0e1626;border:1px solid #27395c;position:absolute;bottom:calc(100% + 4px);left:0;right:0;overflow:hidden auto}.bind-pop[data-v-1444af6d]::-webkit-scrollbar{width:8px}.bind-pop[data-v-1444af6d]::-webkit-scrollbar-thumb{background:#2c4568 padding-box content-box;border:2px solid #0000;border-radius:9999px}.bind-pop[data-v-1444af6d]::-webkit-scrollbar-thumb:hover{background:#3d5a85 padding-box content-box}.bind-pop button[data-v-1444af6d]{width:100%;color:var(--hud-dim);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;font-size:11.5px;display:flex}.bind-pop button[data-v-1444af6d]:hover{color:var(--hud-text);background:#12203a}.bind-pop .bind-svg[data-v-1444af6d]{color:var(--hud-accent)}.bind-pop button>span[data-v-1444af6d]{white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.bp-group[data-v-1444af6d]{flex-direction:column;display:flex}.bp-group+.bp-group[data-v-1444af6d]{border-top:1px solid #27395c8c}.bp-tpl[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--hud-faint);padding:6px 10px 3px;font-size:9px}.bp-cur[data-v-1444af6d]{color:var(--hud-faint);white-space:nowrap;text-overflow:ellipsis;max-width:96px;margin-left:auto;font-size:9.5px;font-style:normal;overflow:hidden}.bp-empty[data-v-1444af6d]{color:var(--hud-faint);padding:10px;font-size:10.5px}.dcw-row[data-v-1444af6d]{border:1px solid var(--hud-line);border-radius:var(--hud-r-md);transition:border-color .18s var(--hud-ease), box-shadow .18s var(--hud-ease);background:linear-gradient(#111a2b,#0e1522);flex-direction:column;gap:8px;margin-bottom:7px;padding:9px 10px 10px;display:flex}.dcw-row[data-v-1444af6d]:hover{border-color:var(--hud-line-hi);box-shadow:0 6px 18px #03070e66}.dcw-top[data-v-1444af6d]{align-items:center;gap:8px;display:flex}.dcw-id[data-v-1444af6d]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dcw-name[data-v-1444af6d]{color:var(--hud-faint);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.dcw-tag[data-v-1444af6d]{font-style:normal;font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-amber);vertical-align:1px;background:#f6c4531a;border:1px solid #f6c45352;border-radius:4px;margin-left:5px;padding:0 5px;font-size:8.5px;font-weight:700;display:inline-block}.dcw-cur[data-v-1444af6d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;align-items:baseline;gap:3px;display:flex}.dcw-cur b[data-v-1444af6d]{color:var(--hud-cyan);text-shadow:0 0 14px #41c8f447;font-size:16px;font-weight:700}.dcw-cur i[data-v-1444af6d]{color:var(--hud-faint);font-size:9.5px;font-style:normal}.dcw-win[data-v-1444af6d]{border:1px solid var(--hud-line-soft);background:#0a111db8;border-radius:7px;align-items:center;gap:7px;padding:4px 8px;display:flex}.dcw-win em[data-v-1444af6d]{letter-spacing:.14em;color:var(--hud-faint);flex:none;font-size:8.5px;font-style:normal;font-weight:700}.dcw-win-num[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-dim);font-variant-numeric:tabular-nums;flex:none;font-size:9.5px}.dcw-win-track[data-v-1444af6d]{background:#1a2740;border-radius:999px;flex:1;height:4px;position:relative}.dcw-win-track[data-v-1444af6d]:before{content:"";border-radius:inherit;background:linear-gradient(90deg,#5a82af66,#5a82af24);position:absolute;inset:0}.dcw-win-track i[data-v-1444af6d]{border:2px solid var(--hud-cyan);width:9px;height:9px;transition:left .3s var(--hud-ease);background:#dfeef8;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #41c8f48c}.dcw-win.recipe em[data-v-1444af6d]{color:var(--hud-amber)}.dcw-win.recipe .dcw-win-track[data-v-1444af6d]:before{background:linear-gradient(90deg,#f6c45380,#f6c45329)}.dcw-win.recipe .dcw-win-track i[data-v-1444af6d]{border-color:var(--hud-amber);box-shadow:0 0 8px #f6c4538c}.dcw-write[data-v-1444af6d]{gap:6px;display:flex}.dcw-write input[data-v-1444af6d]{min-width:0;height:27px;font-family:var(--font-mono);color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);transition:border-color .15s var(--hud-ease), box-shadow .15s var(--hud-ease);border-radius:7px;flex:1;padding:0 9px;font-size:11.5px}.dcw-write input[data-v-1444af6d]::placeholder{color:var(--hud-faint);font-size:10px}.dcw-write input[data-v-1444af6d]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}.dcw-send[data-v-1444af6d]{height:27px;font-family:var(--font-mono);letter-spacing:.1em;color:#04120c;background:var(--hud-accent-dim);cursor:pointer;transition:background .15s var(--hud-ease), box-shadow .15s var(--hud-ease);border:0;border-radius:7px;flex:none;padding:0 14px;font-size:10.5px;font-weight:700}.dcw-send[data-v-1444af6d]:hover:not(:disabled){background:var(--hud-accent);box-shadow:0 0 14px #35e0a059}.dcw-send[data-v-1444af6d]:disabled{opacity:.38;cursor:default}.dcw-err[data-v-1444af6d]{color:var(--hud-danger);background:#ff6b6b14;border:1px solid #ff6b6b47;border-radius:6px;padding:4px 8px;font-size:10px;display:block}.bind-select[data-v-1444af6d]:hover,.daq-ctl-cycle input[data-v-1444af6d]:hover,.daq-num[data-v-1444af6d]:hover,.obj-input[data-v-1444af6d]:hover,.obj-select[data-v-1444af6d]:hover{border-color:var(--hud-line-hi)}.bind-select[data-v-1444af6d]:focus,.daq-ctl-cycle input[data-v-1444af6d]:focus,.daq-num[data-v-1444af6d]:focus,.obj-input[data-v-1444af6d]:focus,.obj-select[data-v-1444af6d]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}input[type=number][data-v-1444af6d]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-1444af6d]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-1444af6d]{appearance:textfield}.obj-range[data-v-1444af6d],.scale-range[data-v-1444af6d]{appearance:none;cursor:pointer;background:#1a2740;border-radius:999px;outline:none;height:4px}.obj-range[data-v-1444af6d]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--hud-accent);width:13px;height:13px;-webkit-transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);background:#e8f6ef;border-radius:50%;box-shadow:0 0 0 3px #35e0a026,0 2px 6px #03070e80}.scale-range[data-v-1444af6d]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--hud-accent);width:13px;height:13px;-webkit-transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);background:#e8f6ef;border-radius:50%;box-shadow:0 0 0 3px #35e0a026,0 2px 6px #03070e80}.obj-range[data-v-1444af6d]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a033,0 2px 8px #03070e8c}.scale-range[data-v-1444af6d]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a033,0 2px 8px #03070e8c}.obj-range[data-v-1444af6d]::-moz-range-thumb{border:2px solid var(--hud-accent);background:#e8f6ef;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 3px #35e0a026}.scale-range[data-v-1444af6d]::-moz-range-thumb{border:2px solid var(--hud-accent);background:#e8f6ef;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 3px #35e0a026}.obj-range[data-v-1444af6d]::-moz-range-track{background:#1a2740;border-radius:999px;height:4px}.scale-range[data-v-1444af6d]::-moz-range-track{background:#1a2740;border-radius:999px;height:4px}.bind-row[data-v-1444af6d]{transition:border-color .18s var(--hud-ease), box-shadow .18s var(--hud-ease)}.bind-row[data-v-1444af6d]:hover{border-color:var(--hud-line-hi);box-shadow:0 6px 18px #03070e66}.bind-add[data-v-1444af6d]:hover{background:#35e0a00d;border-style:solid}.daq-bind-bar[data-v-1444af6d]{gap:6px;display:flex}.bind-select[data-v-1444af6d]{min-width:0;height:28px;color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);border-radius:var(--hud-r-sm);transition:border-color .15s var(--hud-ease), box-shadow .15s var(--hud-ease), color .15s var(--hud-ease);flex:1;padding:0 8px;font-size:10.5px}.bind-select[data-v-1444af6d]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.bind-select[data-v-1444af6d]:focus{border-color:var(--hud-accent);color:var(--hud-text);outline:none;box-shadow:0 0 0 3px #35e0a021}.bind-add-btn[data-v-1444af6d]{color:#04120c;background:var(--hud-accent-dim);border-radius:var(--hud-r-sm);cursor:pointer;height:28px;transition:background .15s var(--hud-ease), box-shadow .15s var(--hud-ease);border:0;flex:none;padding:0 12px;font-size:10.5px;font-weight:600}.bind-add-btn[data-v-1444af6d]:hover:not(:disabled){background:var(--hud-accent);box-shadow:0 0 14px #35e0a059}.bind-add-btn[data-v-1444af6d]:disabled{opacity:.4;cursor:default}.daq-info-row[data-v-1444af6d]{color:var(--hud-dim);justify-content:space-between;gap:8px;padding:3px 0;font-size:11px;display:flex}.daq-info-row b[data-v-1444af6d]{font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;font-weight:600}.daq-info-row b.cy[data-v-1444af6d]{color:var(--hud-cyan);font-size:13px}.daq-ctrl[data-v-1444af6d]{background:var(--hud-panel);border:1px solid var(--hud-line);border-radius:var(--hud-r-sm);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.daq-ctl-btn[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.05em;color:var(--hud-dim);cursor:pointer;border:1px solid var(--hud-line-hi);border-radius:var(--hud-r-sm);background:0 0;padding:4px 12px;font-size:11px}.daq-ctl-btn.on[data-v-1444af6d]{color:var(--hud-accent);border-color:#35e0a073}.daq-ctl-cycle[data-v-1444af6d]{color:var(--hud-faint);align-items:center;gap:5px;font-size:10.5px;display:inline-flex}.daq-ctl-cycle input[data-v-1444af6d],.daq-num[data-v-1444af6d]{width:64px;font-family:var(--font-mono);color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);border-radius:6px;padding:2px 6px;font-size:11px}.daq-th-inputs[data-v-1444af6d]{color:var(--hud-faint);align-items:center;gap:4px;font-size:10px;display:inline-flex}.bind-add-btn.warn[data-v-1444af6d]:not(:disabled){color:var(--hud-amber);box-shadow:none;background:#f6c4531f}.bind-add-btn.warn[data-v-1444af6d]:hover:not(:disabled){background:#f6c45333;box-shadow:0 0 14px #f6c45340}.bind-add-btn.danger[data-v-1444af6d]:not(:disabled){color:var(--hud-danger);box-shadow:none;background:#ff6b6b1a}.bind-add-btn.danger[data-v-1444af6d]:hover:not(:disabled){background:#ff6b6b2e;box-shadow:0 0 14px #ff6b6b40}.statusbar[data-v-1444af6d]{border-top:1px solid var(--hud-line-soft);height:30px;color:var(--hud-dim);z-index:60;background:#0a101b;flex:none;align-items:center;gap:18px;padding:0 14px;font-size:11px;display:flex;position:relative}.statusbar b[data-v-1444af6d]{color:var(--hud-accent);font-weight:600}.statusbar .sb-stats[data-v-1444af6d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;align-items:center;gap:7px;display:inline-flex}.sb-stats b[data-v-1444af6d]{color:var(--hud-text);font-weight:600}.sb-stats i[data-v-1444af6d]{color:var(--hud-line-hi);font-style:normal}.sb-dot[data-v-1444af6d]{background:var(--hud-accent);width:7px;height:7px;box-shadow:0 0 6px var(--hud-accent);vertical-align:1px;border-radius:50%;margin-right:6px;display:inline-block}.sb-dot.red[data-v-1444af6d]{background:var(--hud-danger);box-shadow:0 0 6px var(--hud-danger)}.sb-dot[data-v-1444af6d]:not(.red){animation:sb-pulse-1444af6d 2.4s var(--hud-ease) infinite}@keyframes sb-pulse-1444af6d{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.sb-dot[data-v-1444af6d]:not(.red){animation:none}}.sb-lat[data-v-1444af6d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;position:absolute;left:50%;transform:translate(-50%)}.statusbar .copy[data-v-1444af6d]{color:var(--hud-faint);font-family:var(--font-mono);margin-left:auto;font-size:10px}.loading-mask[data-v-1444af6d]{z-index:90;background:var(--hud-bg);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.loading-spinner[data-v-1444af6d]{border:2.5px solid var(--hud-line);border-top-color:var(--hud-accent);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin-1444af6d}.loading-text[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.24em;color:var(--hud-dim);font-size:11px}@keyframes spin-1444af6d{to{transform:rotate(1turn)}}@keyframes ty-bounce-1444af6d{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.drag-grip[data-v-1444af6d]{cursor:grab;touch-action:none}.drag-grip[data-v-1444af6d]:active{cursor:grabbing}.drag-panel[data-v-1444af6d]{will-change:left, top}.town-view[data-v-1444af6d] ::-webkit-scrollbar{width:8px;height:8px}.town-view[data-v-1444af6d] ::-webkit-scrollbar-track{background:0 0}.town-view[data-v-1444af6d] ::-webkit-scrollbar-thumb{background:#1c2942;border:2px solid #080d16;border-radius:4px}.town-view[data-v-1444af6d] ::-webkit-scrollbar-thumb:hover{background:#2c4568}.al-state[data-v-1444af6d]:active,.bind-add[data-v-1444af6d]:active,.bind-x[data-v-1444af6d]:active,.bp-btn[data-v-1444af6d]:active,.btn[data-v-1444af6d]:active,.lg-chip[data-v-1444af6d]:active,.mini-btn[data-v-1444af6d]:active,.obj-mini[data-v-1444af6d]:active,.snap-toggle[data-v-1444af6d]:active,.vp-tool[data-v-1444af6d]:active{transform:scale(.96)}.al-state[data-v-1444af6d],.bind-add[data-v-1444af6d],.bp-btn[data-v-1444af6d],.btn[data-v-1444af6d],.lg-chip[data-v-1444af6d],.mini-btn[data-v-1444af6d],.obj-mini[data-v-1444af6d],.snap-toggle[data-v-1444af6d],.vp-tool[data-v-1444af6d]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}.town-view button[data-v-1444af6d]:focus-visible,.town-view input[data-v-1444af6d]:focus-visible,.town-view select[data-v-1444af6d]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}.vp-title h2[data-v-1444af6d]{color:var(--hud-text)}@keyframes estop-pulse-1444af6d{50%{filter:brightness(1.35)}}.btn-danger.armed[data-v-1444af6d]{animation:1s ease-in-out infinite estop-pulse-1444af6d}@media (prefers-reduced-motion:reduce){.callout[data-v-1444af6d],.inspector[data-v-1444af6d],.btn-danger.armed[data-v-1444af6d],.loading-spinner[data-v-1444af6d],.rpg-line.live .rpg-bubble[data-v-1444af6d],.ty-dot[data-v-1444af6d]{animation:none}}@media (width<=1180px){.app[data-v-1444af6d]{grid-template-columns:0 1fr 0}.rail[data-v-1444af6d]{z-index:70;width:288px;transition:transform .22s var(--hud-ease);box-shadow:var(--hud-shadow);background:#0a101b;position:fixed;top:50px;bottom:30px}.rail-left[data-v-1444af6d]{left:0;transform:translate(-104%)}.rail-right[data-v-1444af6d]{right:0;transform:translate(104%)}.dock[data-v-1444af6d],.stage-dock[data-v-1444af6d]{grid-template-columns:1fr}}.approval-card[data-v-1444af6d]{border-radius:var(--hud-r-md);background:#f6c4530f;border:1px solid #f6c4534d;margin-bottom:7px;padding:8px 9px}.approval-detail[data-v-1444af6d]{color:var(--hud-text);font-size:11px}.approval-ttl[data-v-1444af6d]{font-family:var(--font-mono);letter-spacing:.05em;color:var(--hud-amber);margin-top:5px;font-size:9.5px}.approval-ttl.urgent[data-v-1444af6d]{color:var(--hud-danger)}
@@ -1,5 +0,0 @@
1
- import{B as e,I as t}from"./rqZ-1SoP.js";import{C as n,F as r,M as i,O as a,U as o,V as s,a as c,d as l,et as u,f as d,ft as f,gt as p,i as m,k as h,l as g,mt as _,tt as v,w as y,x as b,z as x}from"./BSCpFtzG.js";import{$ as ee,At as S,B as te,Ct as C,F as w,M as T,N as E,X as D,Z as O,at as ne,ct as re,d as ie,j as ae,kt as k,l as A,m as oe,n as j,nt as M,st as N,t as P,u as F}from"./BDUjyaF4.js";import{t as se}from"./BfGc7TJp.js";import{g as ce,m as le}from"./D-Ca4BGY.js";var ue=e=>setTimeout(e,16),de=e=>clearTimeout(e);typeof window<`u`&&`requestAnimationFrame`in window&&(ue=e=>window.requestAnimationFrame(e),de=e=>window.cancelAnimationFrame(e));var fe=0,pe=new Map;function me(e){pe.delete(e)}function I(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;fe+=1;let n=fe;function r(t){if(t===0)me(n),e();else{let e=ue(()=>{r(t-1)});pe.set(n,e)}}return r(t),n}I.cancel=e=>{let t=pe.get(e);return me(t),de(t)};var he={};function ge(e,t){}function _e(e,t){}function ve(e,t,n){!t&&!he[n]&&(e(!1,n),he[n]=!0)}function ye(e,t){ve(ge,e,t)}function be(e,t){let n=k({},e);for(let e=0;e<t.length;e+=1){let r=t[e];delete n[r]}return n}var xe=((e,t,n)=>{ye(e,`[ant-design-vue: ${t}] ${n}`)});function Se(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=arguments.length>3&&arguments[3]!==void 0&&arguments[3],i=e;if(Array.isArray(e)&&(i=ne(e)[0]),!i)return null;let a=l(i,t,r);return a.props=n?k(k({},a.props),t):a.props,ae(typeof a.props.class!=`object`,`class must be string`),a}function Ce(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.map(e=>Se(e,t,n))}function we(t,n,r){e(l(t,k({},n)),r)}var Te=e=>(e||[]).some(e=>!h(e)||!(e.type===m||e.type===c&&!Te(e.children)))?e:null;function Ee(e,t,n,r){let i=e[t]?.call(e,n);return Te(i)?i:r?.()}var De=(e=>{if(!e)return!1;if(e.offsetParent)return!0;if(e.getBBox){let t=e.getBBox();if(t.width||t.height)return!0}if(e.getBoundingClientRect){let t=e.getBoundingClientRect();if(t.width||t.height)return!0}return!1}),Oe=typeof global==`object`&&global&&global.Object===Object&&global,ke=typeof self==`object`&&self&&self.Object===Object&&self,L=Oe||ke||Function(`return this`)(),R=L.Symbol,Ae=Object.prototype,je=Ae.hasOwnProperty,Me=Ae.toString,z=R?R.toStringTag:void 0;function Ne(e){var t=je.call(e,z),n=e[z];try{e[z]=void 0;var r=!0}catch{}var i=Me.call(e);return r&&(t?e[z]=n:delete e[z]),i}var Pe=Object.prototype.toString;function Fe(e){return Pe.call(e)}var Ie=`[object Null]`,Le=`[object Undefined]`,Re=R?R.toStringTag:void 0;function B(e){return e==null?e===void 0?Le:Ie:Re&&Re in Object(e)?Ne(e):Fe(e)}function ze(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var Be=`[object AsyncFunction]`,Ve=`[object Function]`,He=`[object GeneratorFunction]`,Ue=`[object Proxy]`;function We(e){if(!ze(e))return!1;var t=B(e);return t==Ve||t==He||t==Be||t==Ue}var Ge=L[`__core-js_shared__`],Ke=function(){var e=/[^.]+$/.exec(Ge&&Ge.keys&&Ge.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function qe(e){return!!Ke&&Ke in e}var Je=Function.prototype.toString;function V(e){if(e!=null){try{return Je.call(e)}catch{}try{return e+``}catch{}}return``}var Ye=/[\\^$.*+?()[\]{}|]/g,Xe=/^\[object .+?Constructor\]$/,Ze=Function.prototype,Qe=Object.prototype,$e=Ze.toString,et=Qe.hasOwnProperty,tt=RegExp(`^`+$e.call(et).replace(Ye,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function nt(e){return!ze(e)||qe(e)?!1:(We(e)?tt:Xe).test(V(e))}function rt(e,t){return e?.[t]}function H(e,t){var n=rt(e,t);return nt(n)?n:void 0}var U=H(L,`Map`),it=Array.isArray;function W(e){return typeof e==`object`&&!!e}var at=`[object Arguments]`;function ot(e){return W(e)&&B(e)==at}var st=Object.prototype,ct=st.hasOwnProperty,lt=st.propertyIsEnumerable,ut=ot(function(){return arguments}())?ot:function(e){return W(e)&&ct.call(e,`callee`)&&!lt.call(e,`callee`)};function dt(){return!1}var ft=typeof exports==`object`&&exports&&!exports.nodeType&&exports,pt=ft&&typeof module==`object`&&module&&!module.nodeType&&module,mt=pt&&pt.exports===ft?L.Buffer:void 0,ht=(mt?mt.isBuffer:void 0)||dt,gt=9007199254740991;function _t(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=gt}var vt=`[object Arguments]`,yt=`[object Array]`,bt=`[object Boolean]`,xt=`[object Date]`,St=`[object Error]`,Ct=`[object Function]`,wt=`[object Map]`,Tt=`[object Number]`,Et=`[object Object]`,Dt=`[object RegExp]`,Ot=`[object Set]`,kt=`[object String]`,At=`[object WeakMap]`,jt=`[object ArrayBuffer]`,Mt=`[object DataView]`,Nt=`[object Float32Array]`,Pt=`[object Float64Array]`,Ft=`[object Int8Array]`,It=`[object Int16Array]`,Lt=`[object Int32Array]`,Rt=`[object Uint8Array]`,zt=`[object Uint8ClampedArray]`,Bt=`[object Uint16Array]`,Vt=`[object Uint32Array]`,G={};G[Nt]=G[Pt]=G[Ft]=G[It]=G[Lt]=G[Rt]=G[zt]=G[Bt]=G[Vt]=!0,G[vt]=G[yt]=G[jt]=G[bt]=G[Mt]=G[xt]=G[St]=G[Ct]=G[wt]=G[Tt]=G[Et]=G[Dt]=G[Ot]=G[kt]=G[At]=!1;function Ht(e){return W(e)&&_t(e.length)&&!!G[B(e)]}function Ut(e){return function(t){return e(t)}}var Wt=typeof exports==`object`&&exports&&!exports.nodeType&&exports,K=Wt&&typeof module==`object`&&module&&!module.nodeType&&module,Gt=K&&K.exports===Wt&&Oe.process,Kt=function(){try{return K&&K.require&&K.require(`util`).types||Gt&&Gt.binding&&Gt.binding(`util`)}catch{}}(),qt=Kt&&Kt.isTypedArray,Jt=qt?Ut(qt):Ht,Yt=Object.prototype;function Xt(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||Yt)}function Zt(e,t){return function(n){return e(t(n))}}var Qt=Zt(Object.keys,Object),$t=Object.prototype.hasOwnProperty;function en(e){if(!Xt(e))return Qt(e);var t=[];for(var n in Object(e))$t.call(e,n)&&n!=`constructor`&&t.push(n);return t}function tn(e){return e!=null&&_t(e.length)&&!We(e)}var nn=H(L,`DataView`),rn=H(L,`Promise`),q=H(L,`Set`),an=H(L,`WeakMap`),on=`[object Map]`,sn=`[object Object]`,cn=`[object Promise]`,ln=`[object Set]`,un=`[object WeakMap]`,dn=`[object DataView]`,fn=V(nn),pn=V(U),mn=V(rn),hn=V(q),gn=V(an),J=B;(nn&&J(new nn(new ArrayBuffer(1)))!=dn||U&&J(new U)!=on||rn&&J(rn.resolve())!=cn||q&&J(new q)!=ln||an&&J(new an)!=un)&&(J=function(e){var t=B(e),n=t==sn?e.constructor:void 0,r=n?V(n):``;if(r)switch(r){case fn:return dn;case pn:return on;case mn:return cn;case hn:return ln;case gn:return un}return t});var _n=J,vn;function yn(e){if(typeof document>`u`)return 0;if(e||vn===void 0){let e=document.createElement(`div`);e.style.width=`100%`,e.style.height=`200px`;let t=document.createElement(`div`),n=t.style;n.position=`absolute`,n.top=`0`,n.left=`0`,n.pointerEvents=`none`,n.visibility=`hidden`,n.width=`200px`,n.height=`150px`,n.overflow=`hidden`,t.appendChild(e),document.body.appendChild(t);let r=e.offsetWidth;t.style.overflow=`scroll`;let i=e.offsetWidth;r===i&&(i=t.clientWidth),document.body.removeChild(t),vn=r-i}return vn}function bn(e){let t=e.match(/^(.*)px$/),n=Number(t?.[1]);return Number.isNaN(n)?yn():n}function xn(e){if(typeof document>`u`||!e||!(e instanceof Element))return{width:0,height:0};let{width:t,height:n}=getComputedStyle(e,`::-webkit-scrollbar`);return{width:bn(t),height:bn(n)}}var Sn=`vc-util-locker-${Date.now()}`,Cn=0;function wn(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}function Tn(e){let t=d(()=>!!e&&!!e.value);Cn+=1;let n=`${Sn}_${Cn}`;v(e=>{if(w()){if(t.value){let e=yn(),t=wn();E(`
2
- html body {
3
- overflow-y: hidden;
4
- ${t?`width: calc(100% - ${e}px);`:``}
5
- }`,n)}else T(n);e(()=>{T(n)})}},{flush:`post`})}var Y=0,En=w(),Dn=e=>{if(!En)return null;if(e){if(typeof e==`string`)return document.querySelectorAll(e)[0];if(typeof e==`function`)return e();if(typeof e==`object`&&e instanceof window.HTMLElement)return e}return document.body},On=n({compatConfig:{MODE:3},name:`PortalWrapper`,inheritAttrs:!1,props:{wrapperClassName:String,forceRender:{type:Boolean,default:void 0},getContainer:P.any,visible:{type:Boolean,default:void 0},autoLock:D(),didUpdate:Function},setup(e,t){let{slots:n}=t,a=p(),o=p(),c=p(),l=p(1),f=w()&&document.createElement(`div`),m=()=>{var e;a.value===f&&((e=a.value?.parentNode)==null||e.removeChild(a.value)),a.value=null},h=null,g=function(){return arguments.length>0&&arguments[0]!==void 0&&arguments[0]||a.value&&!a.value.parentNode?(h=Dn(e.getContainer),h?(h.appendChild(a.value),!0):!1):!0},_=()=>En?(a.value||(a.value=f,g(!0)),v(),a.value):null,v=()=>{let{wrapperClassName:t}=e;a.value&&t&&t!==a.value.className&&(a.value.className=t)};return s(()=>{v(),g()}),Tn(d(()=>e.autoLock&&e.visible&&w()&&(a.value===document.body||a.value===f))),x(()=>{let t=!1;u([()=>e.visible,()=>e.getContainer],(n,r)=>{let[i,a]=n,[o,s]=r;En&&(h=Dn(e.getContainer),h===document.body&&(i&&!o?Y+=1:t&&--Y)),t&&(typeof a==`function`&&typeof s==`function`?a.toString()!==s.toString():a!==s)&&m(),t=!0},{immediate:!0,flush:`post`}),i(()=>{g()||(c.value=I(()=>{l.value+=1}))})}),r(()=>{let{visible:t}=e;En&&h===document.body&&(Y=t&&Y?Y-1:Y),m(),I.cancel(c.value)}),()=>{let{forceRender:t,visible:r}=e,i=null,a={getOpenCount:()=>Y,getContainer:_};return l.value&&(t||r||o.value)&&(i=b(ce,{getContainer:_,ref:o,didUpdate:e.didUpdate},{default:()=>n.default?.call(n,a)})),i}}}),X={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){let{keyCode:t}=e;if(e.altKey&&!e.ctrlKey||e.metaKey||t>=X.F1&&t<=X.F12)return!1;switch(t){case X.ALT:case X.CAPS_LOCK:case X.CONTEXT_MENU:case X.CTRL:case X.DOWN:case X.END:case X.ESC:case X.HOME:case X.INSERT:case X.LEFT:case X.MAC_FF_META:case X.META:case X.NUMLOCK:case X.NUM_CENTER:case X.PAGE_DOWN:case X.PAGE_UP:case X.PAUSE:case X.PRINT_SCREEN:case X.RIGHT:case X.SHIFT:case X.UP:case X.WIN_KEY:case X.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=X.ZERO&&e<=X.NINE||e>=X.NUM_ZERO&&e<=X.NUM_MULTIPLY||e>=X.A&&e<=X.Z||window.navigator.userAgent.indexOf(`WebKit`)!==-1&&e===0)return!0;switch(e){case X.SPACE:case X.QUESTION_MARK:case X.NUM_PLUS:case X.NUM_MINUS:case X.NUM_PERIOD:case X.NUM_DIVISION:case X.SEMICOLON:case X.DASH:case X.EQUALS:case X.COMMA:case X.PERIOD:case X.SLASH:case X.APOSTROPHE:case X.SINGLE_QUOTE:case X.OPEN_SQUARE_BRACKET:case X.BACKSLASH:case X.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};function Z(e){let t=typeof e==`function`?e():e,n=_(t);function r(e){n.value=e}return[n,r]}function kn(e){let t=Symbol(`contextKey`);return{useProvide:(e,n)=>{let r=f({});return o(t,r),v(()=>{k(r,e,n||{})}),r},useInject:()=>a(t,e)||{}}}var An=Symbol(`ContextProps`),jn=Symbol(`InternalContextProps`),Mn=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:d(()=>!0),n=_(new Map);y(),u([t,n],()=>{}),o(An,e),o(jn,{addFormItemField:(e,t)=>{n.value.set(e,t),n.value=new Map(n.value)},removeFormItemField:e=>{n.value.delete(e),n.value=new Map(n.value)}})},Nn={id:d(()=>void 0),onFieldBlur:()=>{},onFieldChange:()=>{},clearValidate:()=>{}},Pn={addFormItemField:()=>{},removeFormItemField:()=>{}},Fn=()=>{let e=a(jn,Pn),t=Symbol(`FormItemFieldKey`),n=y();return e.addFormItemField(t,n.type),r(()=>{e.removeFormItemField(t)}),o(jn,Pn),o(An,Nn),a(An,Nn)},In=n({compatConfig:{MODE:3},name:`AFormItemRest`,setup(e,t){let{slots:n}=t;return o(jn,Pn),o(An,Nn),()=>n.default?.call(n)}}),Ln=kn({}),Rn=n({name:`NoFormStatus`,setup(e,t){let{slots:n}=t;return Ln.useProvide({}),()=>n.default?.call(n)}}),zn=e=>{let{componentCls:t}=e;return{[t]:{display:`inline-flex`,"&-block":{display:`flex`,width:`100%`},"&-vertical":{flexDirection:`column`}}}},Bn=e=>{let{componentCls:t}=e;return{[t]:{display:`inline-flex`,"&-rtl":{direction:`rtl`},"&-vertical":{flexDirection:`column`},"&-align":{flexDirection:`column`,"&-center":{alignItems:`center`},"&-start":{alignItems:`flex-start`},"&-end":{alignItems:`flex-end`},"&-baseline":{alignItems:`baseline`}},[`${t}-item`]:{"&:empty":{display:`none`}}}}},Vn=ie(`Space`,e=>[Bn(e),zn(e)]),Hn=`[object Map]`,Un=`[object Set]`,Wn=Object.prototype.hasOwnProperty;function Gn(e){if(e==null)return!0;if(tn(e)&&(it(e)||typeof e==`string`||typeof e.splice==`function`||ht(e)||Jt(e)||ut(e)))return!e.length;var t=_n(e);if(t==Hn||t==Un)return!e.size;if(Xt(e))return!en(e).length;for(var n in e)if(Wn.call(e,n))return!1;return!0}var Kn=()=>({compactSize:String,compactDirection:P.oneOf(M(`horizontal`,`vertical`)).def(`horizontal`),isFirstItem:D(),isLastItem:D()}),qn=kn(null),Jn=(e,t)=>{let n=qn.useInject(),r=d(()=>{if(!n||Gn(n))return``;let{compactDirection:r,isFirstItem:i,isLastItem:a}=n,o=r===`vertical`?`-vertical-`:`-`;return C({[`${e.value}-compact${o}item`]:!0,[`${e.value}-compact${o}first-item`]:i,[`${e.value}-compact${o}last-item`]:a,[`${e.value}-compact${o}item-rtl`]:t.value===`rtl`})});return{compactSize:d(()=>n?.compactSize),compactDirection:d(()=>n?.compactDirection),compactItemClassnames:r}},Yn=n({name:`NoCompactStyle`,setup(e,t){let{slots:n}=t;return qn.useProvide(null),()=>n.default?.call(n)}}),Xn=()=>({prefixCls:String,size:{type:String},direction:P.oneOf(M(`horizontal`,`vertical`)).def(`horizontal`),align:P.oneOf(M(`start`,`end`,`center`,`baseline`)),block:{type:Boolean,default:void 0}}),Zn=n({name:`CompactItem`,props:Kn(),setup(e,t){let{slots:n}=t;return qn.useProvide(e),()=>n.default?.call(n)}}),Qn=n({name:`ASpaceCompact`,inheritAttrs:!1,props:Xn(),setup(e,t){let{attrs:n,slots:r}=t,{prefixCls:i,direction:a}=j(`space-compact`,e),o=qn.useInject(),[s,c]=Vn(i),l=d(()=>C(i.value,c.value,{[`${i.value}-rtl`]:a.value===`rtl`,[`${i.value}-block`]:e.block,[`${i.value}-vertical`]:e.direction===`vertical`}));return()=>{let t=re(r.default?.call(r)||[]);return t.length===0?null:s(b(`div`,S(S({},n),{},{class:[l.value,n.class]}),[t.map((n,r)=>{let a=n&&n.key||`${i.value}-item-${r}`,s=!o||Gn(o);return b(Zn,{key:a,compactSize:e.size??`middle`,compactDirection:e.direction,isFirstItem:r===0&&(s||o?.isFirstItem),isLastItem:r===t.length-1&&(s||o?.isLastItem)},{default:()=>[n]})})]))}}});function $n(e,t,n){let{focusElCls:r,focus:i,borderElCls:a}=n,o=a?`> *`:``,s=[`hover`,i?`focus`:null,`active`].filter(Boolean).map(e=>`&:${e} ${o}`).join(`,`);return{[`&-item:not(${t}-last-item)`]:{marginInlineEnd:-e.lineWidth},"&-item":k(k({[s]:{zIndex:2}},r?{[`&${r}`]:{zIndex:2}}:{}),{[`&[disabled] ${o}`]:{zIndex:0}})}}function er(e,t,n){let{borderElCls:r}=n,i=r?`> ${r}`:``;return{[`&-item:not(${t}-first-item):not(${t}-last-item) ${i}`]:{borderRadius:0},[`&-item:not(${t}-last-item)${t}-first-item`]:{[`& ${i}, &${e}-sm ${i}, &${e}-lg ${i}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${t}-first-item)${t}-last-item`]:{[`& ${i}, &${e}-sm ${i}, &${e}-lg ${i}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function tr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0},{componentCls:n}=e,r=`${n}-compact`;return{[r]:k(k({},$n(e,r,t)),er(n,r,t))}}var nr=e=>{let{componentCls:t,colorPrimary:n}=e;return{[t]:{position:`absolute`,background:`transparent`,pointerEvents:`none`,boxSizing:`border-box`,color:`var(--wave-color, ${n})`,boxShadow:`0 0 0 0 currentcolor`,opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${e.motionEaseOutCirc}`,`opacity 2s ${e.motionEaseOutCirc}`].join(`,`),"&-active":{boxShadow:`0 0 0 6px currentcolor`,opacity:0}}}}},rr=ie(`Wave`,e=>[nr(e)]);function ir(e){let t=(e||``).match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return t&&t[1]&&t[2]&&t[3]?t[1]!==t[2]||t[2]!==t[3]:!0}function ar(e){return e&&e!==`#fff`&&e!==`#ffffff`&&e!==`rgb(255, 255, 255)`&&e!==`rgba(255, 255, 255, 1)`&&ir(e)&&!/rgba\((?:\d*, ){3}0\)/.test(e)&&e!==`transparent`}function or(e){let{borderTopColor:t,borderColor:n,backgroundColor:r}=getComputedStyle(e);return ar(t)?t:ar(n)?n:ar(r)?r:null}function sr(e){return Number.isNaN(e)?0:e}var cr=n({props:{target:ee(),className:String},setup(n){let i=p(null),[a,o]=Z(null),[s,c]=Z([]),[l,u]=Z(0),[d,f]=Z(0),[m,h]=Z(0),[g,_]=Z(0),[v,y]=Z(!1);function ee(){let{target:e}=n,t=getComputedStyle(e);o(or(e));let r=t.position===`static`,{borderLeftWidth:i,borderTopWidth:a}=t;u(r?e.offsetLeft:sr(-parseFloat(i))),f(r?e.offsetTop:sr(-parseFloat(a))),h(e.offsetWidth),_(e.offsetHeight);let{borderTopLeftRadius:s,borderTopRightRadius:l,borderBottomLeftRadius:d,borderBottomRightRadius:p}=t;c([s,l,p,d].map(e=>sr(parseFloat(e))))}let S,te,C,w=()=>{clearTimeout(C),I.cancel(te),S?.disconnect()},T=()=>{let t=i.value?.parentElement;t&&(e(null,t),t.parentElement&&t.parentElement.removeChild(t))};x(()=>{w(),C=setTimeout(()=>{T()},5e3);let{target:e}=n;e&&(te=I(()=>{ee(),y(!0)}),typeof ResizeObserver<`u`&&(S=new ResizeObserver(ee),S.observe(e)))}),r(()=>{w()});let E=e=>{e.propertyName===`opacity`&&T()};return()=>{if(!v.value)return null;let e={left:`${l.value}px`,top:`${d.value}px`,width:`${m.value}px`,height:`${g.value}px`,borderRadius:s.value.map(e=>`${e}px`).join(` `)};return a&&(e[`--wave-color`]=a.value),b(t,{appear:!0,name:`wave-motion`,appearFromClass:`wave-motion-appear`,appearActiveClass:`wave-motion-appear`,appearToClass:`wave-motion-appear wave-motion-appear-active`},{default:()=>[b(`div`,{ref:i,class:n.className,style:e,onTransitionend:E},null)]})}}});function lr(t,n){let r=document.createElement(`div`);return r.style.position=`absolute`,r.style.left=`0px`,r.style.top=`0px`,t?.insertBefore(r,t?.firstChild),e(b(cr,{target:t,className:n},null),r),()=>{e(null,r),r.parentElement&&r.parentElement.removeChild(r)}}function ur(e,t){let n=y(),i;function a(){let r=N(n);i?.(),!(t?.value?.disabled||!r)&&(i=lr(r,e.value))}return r(()=>{i?.()}),a}var dr=n({compatConfig:{MODE:3},name:`Wave`,props:{disabled:Boolean},setup(e,t){let{slots:n}=t,a=y(),{prefixCls:o,wave:s}=j(`wave`,e),[,c]=rr(o),l=ur(d(()=>C(o.value,c.value)),s),f,p=()=>{N(a).removeEventListener(`click`,f,!0)};return x(()=>{u(()=>e.disabled,()=>{p(),i(()=>{let t=N(a);t?.removeEventListener(`click`,f,!0),!(!t||t.nodeType!==1||e.disabled)&&(f=e=>{e.target.tagName===`INPUT`||!De(e.target)||!t.getAttribute||t.getAttribute(`disabled`)||t.disabled||t.className.includes(`disabled`)||t.className.includes(`-leave`)||l()},t.addEventListener(`click`,f,!0))})},{immediate:!0,flush:`post`})}),r(()=>{p()}),()=>n.default?.call(n)[0]}});function fr(e){return e===`danger`?{danger:!0}:{type:e}}var pr=()=>({prefixCls:String,type:String,htmlType:{type:String,default:`button`},shape:{type:String},size:{type:String},loading:{type:[Boolean,Object],default:()=>!1},disabled:{type:Boolean,default:void 0},ghost:{type:Boolean,default:void 0},block:{type:Boolean,default:void 0},danger:{type:Boolean,default:void 0},icon:P.any,href:String,target:String,title:String,onClick:O(),onMousedown:O()}),mr=e=>{e&&(e.style.width=`0px`,e.style.opacity=`0`,e.style.transform=`scale(0)`)},hr=e=>{i(()=>{e&&(e.style.width=`${e.scrollWidth}px`,e.style.opacity=`1`,e.style.transform=`scale(1)`)})},gr=e=>{e&&e.style&&(e.style.width=null,e.style.opacity=null,e.style.transform=null)},_r=n({compatConfig:{MODE:3},name:`LoadingIcon`,props:{prefixCls:String,loading:[Boolean,Object],existIcon:Boolean},setup(e){return()=>{let{existIcon:n,prefixCls:r,loading:i}=e;if(n)return b(`span`,{class:`${r}-loading-icon`},[b(le,null,null)]);let a=!!i;return b(t,{name:`${r}-loading-icon-motion`,onBeforeEnter:mr,onEnter:hr,onAfterEnter:gr,onBeforeLeave:hr,onLeave:e=>{setTimeout(()=>{mr(e)})},onAfterLeave:gr},{default:()=>[a?b(`span`,{class:`${r}-loading-icon`},[b(le,null,null)]):null]})}}}),vr=(e,t)=>({[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineEndColor:t}}},"&:not(:first-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineStartColor:t}}}}}),yr=e=>{let{componentCls:t,fontSize:n,lineWidth:r,colorPrimaryHover:i,colorErrorHover:a}=e;return{[`${t}-group`]:[{position:`relative`,display:`inline-flex`,[`> span, > ${t}`]:{"&:not(:last-child)":{[`&, & > ${t}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:-r,[`&, & > ${t}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:`relative`,zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${t}-icon-only`]:{fontSize:n}},vr(`${t}-primary`,i),vr(`${t}-danger`,a)]}};function br(e,t){return{[`&-item:not(${t}-last-item)`]:{marginBottom:-e.lineWidth},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function xr(e,t){return{[`&-item:not(${t}-first-item):not(${t}-last-item)`]:{borderRadius:0},[`&-item${t}-first-item:not(${t}-last-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${t}-last-item:not(${t}-first-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function Sr(e){let t=`${e.componentCls}-compact-vertical`;return{[t]:k(k({},br(e,t)),xr(e.componentCls,t))}}var Cr=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:{outline:`none`,position:`relative`,display:`inline-block`,fontWeight:400,whiteSpace:`nowrap`,textAlign:`center`,backgroundImage:`none`,backgroundColor:`transparent`,border:`${e.lineWidth}px ${e.lineType} transparent`,cursor:`pointer`,transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,userSelect:`none`,touchAction:`manipulation`,lineHeight:e.lineHeight,color:e.colorText,"> span":{display:`inline-block`},[`> ${n} + span, > span + ${n}`]:{marginInlineStart:e.marginXS},"> a":{color:`currentColor`},"&:not(:disabled)":k({},oe(e)),[`&-icon-only${t}-compact-item`]:{flex:`none`},[`&-compact-item${t}-primary`]:{[`&:not([disabled]) + ${t}-compact-item${t}-primary:not([disabled])`]:{position:`relative`,"&:before":{position:`absolute`,top:-e.lineWidth,insetInlineStart:-e.lineWidth,display:`inline-block`,width:e.lineWidth,height:`calc(100% + ${e.lineWidth*2}px)`,backgroundColor:e.colorPrimaryHover,content:`""`}}},"&-compact-vertical-item":{[`&${t}-primary`]:{[`&:not([disabled]) + ${t}-compact-vertical-item${t}-primary:not([disabled])`]:{position:`relative`,"&:before":{position:`absolute`,top:-e.lineWidth,insetInlineStart:-e.lineWidth,display:`inline-block`,width:`calc(100% + ${e.lineWidth*2}px)`,height:e.lineWidth,backgroundColor:e.colorPrimaryHover,content:`""`}}}}}}},Q=(e,t)=>({"&:not(:disabled)":{"&:hover":e,"&:active":t}}),wr=e=>({minWidth:e.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:`50%`}),Tr=e=>({borderRadius:e.controlHeight,paddingInlineStart:e.controlHeight/2,paddingInlineEnd:e.controlHeight/2}),Er=e=>({cursor:`not-allowed`,borderColor:e.colorBorder,color:e.colorTextDisabled,backgroundColor:e.colorBgContainerDisabled,boxShadow:`none`}),Dr=(e,t,n,r,i,a,o)=>({[`&${e}-background-ghost`]:k(k({color:t||void 0,backgroundColor:`transparent`,borderColor:n||void 0,boxShadow:`none`},Q(k({backgroundColor:`transparent`},a),k({backgroundColor:`transparent`},o))),{"&:disabled":{cursor:`not-allowed`,color:r||void 0,borderColor:i||void 0}})}),Or=e=>({"&:disabled":k({},Er(e))}),kr=e=>k({},Or(e)),Ar=e=>({"&:disabled":{cursor:`not-allowed`,color:e.colorTextDisabled}}),jr=e=>k(k(k(k(k({},kr(e)),{backgroundColor:e.colorBgContainer,borderColor:e.colorBorder,boxShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlTmpOutline}`}),Q({color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),Dr(e.componentCls,e.colorBgContainer,e.colorBgContainer,e.colorTextDisabled,e.colorBorder)),{[`&${e.componentCls}-dangerous`]:k(k(k({color:e.colorError,borderColor:e.colorError},Q({color:e.colorErrorHover,borderColor:e.colorErrorBorderHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),Dr(e.componentCls,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder)),Or(e))}),Mr=e=>k(k(k(k(k({},kr(e)),{color:e.colorTextLightSolid,backgroundColor:e.colorPrimary,boxShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlOutline}`}),Q({color:e.colorTextLightSolid,backgroundColor:e.colorPrimaryHover},{color:e.colorTextLightSolid,backgroundColor:e.colorPrimaryActive})),Dr(e.componentCls,e.colorPrimary,e.colorPrimary,e.colorTextDisabled,e.colorBorder,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),{[`&${e.componentCls}-dangerous`]:k(k(k({backgroundColor:e.colorError,boxShadow:`0 ${e.controlOutlineWidth}px 0 ${e.colorErrorOutline}`},Q({backgroundColor:e.colorErrorHover},{backgroundColor:e.colorErrorActive})),Dr(e.componentCls,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder,{color:e.colorErrorHover,borderColor:e.colorErrorHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),Or(e))}),Nr=e=>k(k({},jr(e)),{borderStyle:`dashed`}),Pr=e=>k(k(k({color:e.colorLink},Q({color:e.colorLinkHover},{color:e.colorLinkActive})),Ar(e)),{[`&${e.componentCls}-dangerous`]:k(k({color:e.colorError},Q({color:e.colorErrorHover},{color:e.colorErrorActive})),Ar(e))}),Fr=e=>k(k(k({},Q({color:e.colorText,backgroundColor:e.colorBgTextHover},{color:e.colorText,backgroundColor:e.colorBgTextActive})),Ar(e)),{[`&${e.componentCls}-dangerous`]:k(k({color:e.colorError},Ar(e)),Q({color:e.colorErrorHover,backgroundColor:e.colorErrorBg},{color:e.colorErrorHover,backgroundColor:e.colorErrorBg}))}),Ir=e=>k(k({},Er(e)),{[`&${e.componentCls}:hover`]:k({},Er(e))}),Lr=e=>{let{componentCls:t}=e;return{[`${t}-default`]:jr(e),[`${t}-primary`]:Mr(e),[`${t}-dashed`]:Nr(e),[`${t}-link`]:Pr(e),[`${t}-text`]:Fr(e),[`${t}-disabled`]:Ir(e)}},Rr=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:``,{componentCls:n,iconCls:r,controlHeight:i,fontSize:a,lineHeight:o,lineWidth:s,borderRadius:c,buttonPaddingHorizontal:l}=e,u=Math.max(0,(i-a*o)/2-s),d=l-s,f=`${n}-icon-only`;return[{[`${n}${t}`]:{fontSize:a,height:i,padding:`${u}px ${d}px`,borderRadius:c,[`&${f}`]:{width:i,paddingInlineStart:0,paddingInlineEnd:0,[`&${n}-round`]:{width:`auto`},"> span":{transform:`scale(1.143)`}},[`&${n}-loading`]:{opacity:e.opacityLoading,cursor:`default`},[`${n}-loading-icon`]:{transition:`width ${e.motionDurationSlow} ${e.motionEaseInOut}, opacity ${e.motionDurationSlow} ${e.motionEaseInOut}`},[`&:not(${f}) ${n}-loading-icon > ${r}`]:{marginInlineEnd:e.marginXS}}},{[`${n}${n}-circle${t}`]:wr(e)},{[`${n}${n}-round${t}`]:Tr(e)}]},zr=e=>Rr(e),Br=e=>Rr(F(e,{controlHeight:e.controlHeightSM,padding:e.paddingXS,buttonPaddingHorizontal:8,borderRadius:e.borderRadiusSM}),`${e.componentCls}-sm`),Vr=e=>Rr(F(e,{controlHeight:e.controlHeightLG,fontSize:e.fontSizeLG,borderRadius:e.borderRadiusLG}),`${e.componentCls}-lg`),Hr=e=>{let{componentCls:t}=e;return{[t]:{[`&${t}-block`]:{width:`100%`}}}},Ur=ie(`Button`,e=>{let{controlTmpOutline:t,paddingContentHorizontal:n}=e,r=F(e,{colorOutlineDefault:t,buttonPaddingHorizontal:n});return[Cr(r),Br(r),zr(r),Vr(r),Hr(r),Lr(r),yr(r),tr(e,{focus:!1}),Sr(e)]}),Wr=()=>({prefixCls:String,size:{type:String}}),Gr=kn(),Kr=n({compatConfig:{MODE:3},name:`AButtonGroup`,props:Wr(),setup(e,t){let{slots:n}=t,{prefixCls:r,direction:i}=j(`btn-group`,e),[,,a]=A();Gr.useProvide(f({size:d(()=>e.size)}));let o=d(()=>{let{size:t}=e,n=``;switch(t){case`large`:n=`lg`;break;case`small`:n=`sm`;break;case`middle`:case void 0:break;default:xe(!t,`Button.Group`,"Invalid prop `size`.")}return{[`${r.value}`]:!0,[`${r.value}-${n}`]:n,[`${r.value}-rtl`]:i.value===`rtl`,[a.value]:!0}});return()=>b(`div`,{class:o.value},[re(n.default?.call(n))])}}),qr=/^[\u4e00-\u9fa5]{2}$/,Jr=qr.test.bind(qr);function Yr(e){return e===`text`||e===`link`}var $=n({compatConfig:{MODE:3},name:`AButton`,inheritAttrs:!1,__ANT_BUTTON:!0,props:se(pr(),{type:`default`}),slots:Object,setup(e,t){let{slots:n,attrs:i,emit:a,expose:o}=t,{prefixCls:c,autoInsertSpaceInButton:l,direction:f,size:m}=j(`btn`,e),[h,_]=Ur(c),y=Gr.useInject(),ee=te(),C=d(()=>e.disabled??ee.value),w=p(null),T=p(void 0),E=!1,D=p(!1),O=p(!1),ne=d(()=>l.value!==!1),{compactSize:ie,compactItemClassnames:ae}=Jn(c,f),A=d(()=>typeof e.loading==`object`&&e.loading.delay?e.loading.delay||!0:!!e.loading);u(A,e=>{clearTimeout(T.value),typeof A.value==`number`?T.value=setTimeout(()=>{D.value=e},A.value):D.value=e},{immediate:!0});let oe=d(()=>{let{type:t,shape:n=`default`,ghost:r,block:i,danger:a}=e,o=c.value,s={large:`lg`,small:`sm`,middle:void 0},l=ie.value||y?.size||m.value,u=l&&s[l]||``;return[ae.value,{[_.value]:!0,[`${o}`]:!0,[`${o}-${n}`]:n!=="default"&&n,[`${o}-${t}`]:t,[`${o}-${u}`]:u,[`${o}-loading`]:D.value,[`${o}-background-ghost`]:r&&!Yr(t),[`${o}-two-chinese-chars`]:O.value&&ne.value,[`${o}-block`]:i,[`${o}-dangerous`]:!!a,[`${o}-rtl`]:f.value===`rtl`}]}),M=()=>{let e=w.value;if(!e||l.value===!1)return;let t=e.textContent;E&&Jr(t)?O.value||=!0:O.value&&=!1},N=e=>{if(D.value||C.value){e.preventDefault();return}a(`click`,e)},P=e=>{a(`mousedown`,e)},F=(e,t)=>{let n=t?` `:``;if(e.type===g){let t=e.children.trim();return Jr(t)&&(t=t.split(``).join(n)),b(`span`,null,[t])}return e};return v(()=>{xe(!(e.ghost&&Yr(e.type)),`Button`,"`link` or `text` button can't be a `ghost` button.")}),x(M),s(M),r(()=>{T.value&&clearTimeout(T.value)}),o({focus:()=>{var e;(e=w.value)==null||e.focus()},blur:()=>{var e;(e=w.value)==null||e.blur()}}),()=>{let{icon:t=n.icon?.call(n)}=e,r=re(n.default?.call(n));E=r.length===1&&!t&&!Yr(e.type);let{type:a,htmlType:o,href:s,title:l,target:u}=e,d=D.value?`loading`:t,f=k(k({},i),{title:l,disabled:C.value,class:[oe.value,i.class,{[`${c.value}-icon-only`]:r.length===0&&!!d}],onClick:N,onMousedown:P});C.value||delete f.disabled;let p=t&&!D.value?t:b(_r,{existIcon:!!t,prefixCls:c.value,loading:!!D.value},null),m=r.map(e=>F(e,E&&ne.value));if(s!==void 0)return h(b(`a`,S(S({},f),{},{href:s,target:u,ref:w}),[p,m]));let g=b(`button`,S(S({},f),{},{ref:w,type:o}),[p,m]);if(!Yr(a)){let e=function(){return g}();g=b(dr,{ref:`wave`,disabled:!!D.value},{default:()=>[e]})}return h(g)}}});$.Group=Kr,$.install=function(e){return e.component($.name,$),e.component(Kr.name,Kr),e};var Xr=$;export{ht as A,De as B,en as C,Kt as D,Jt as E,H as F,xe as G,Ce as H,ze as I,ge as J,be as K,B as L,W as M,it as N,Ut as O,U as P,R,tn as S,Xt as T,Ee as U,Se as V,we as W,I as X,ye as Y,On as _,tr as a,_n as b,Jn as c,Ln as d,Rn as f,X as g,Z as h,dr as i,ut as j,_t as k,Vn as l,Mn as m,pr as n,Qn as o,Fn as p,_e as q,fr as r,Yn as s,Xr as t,In as u,yn as v,Zt as w,q as x,xn as y,L as z};
@@ -1 +0,0 @@
1
- .line-chip[data-v-385b5f14]{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 10px}.param-chip.daqwin[data-v-385b5f14]{color:#41c8f4;border-color:#41c8f466}.adopt-card[data-v-385b5f14]{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.adopt-title[data-v-385b5f14]{color:var(--aw-dim,#8fa0b5);flex:none;padding-top:4px;font-size:12px}.adopt-list[data-v-385b5f14]{flex-wrap:wrap;gap:8px;display:flex}.adopt-chip[data-v-385b5f14]{color:#e8eef8;background:#0d1420b3;border:1px solid #3c506e80;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.page[data-v-385b5f14]{padding:4px}h1[data-v-385b5f14]{letter-spacing:-.015em;margin:2px 0 4px;font-size:30px;font-weight:400}.ledger-card[data-v-385b5f14]{margin-bottom:14px;padding:14px 18px}.ledger-head[data-v-385b5f14]{align-items:center;gap:12px;display:flex}.ledger-head b[data-v-385b5f14]{font-size:13.5px}.ledger-tri[data-v-385b5f14]{align-items:center;gap:12px;margin-top:12px;display:flex}.tri-cell[data-v-385b5f14]{background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);flex-direction:column;flex:none;gap:2px;padding:8px 16px;display:flex}.tri-cell small[data-v-385b5f14]{color:var(--ink-faint);font-size:10px}.tri-cell b[data-v-385b5f14]{color:var(--ink);font-size:17px}.ledger-cols[data-v-385b5f14]{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}.sec-t[data-v-385b5f14]{letter-spacing:.14em;color:var(--ink-faint);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.ledger-list[data-v-385b5f14]{max-height:200px;color:var(--ink-soft);flex-direction:column;gap:3px;margin:0;padding:0;font-size:11px;list-style:none;display:flex;overflow:auto}.ledger-rec[data-v-385b5f14]{align-items:center;gap:8px;display:flex}.rec-st[data-v-385b5f14]{font-family:var(--font-mono);color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:4px;flex:none;padding:0 6px;font-size:9px}.rec-st.open[data-v-385b5f14]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot)}.rec-st.judged[data-v-385b5f14]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot);opacity:.85}.rec-st.judged-keep[data-v-385b5f14],.rec-st.rolled-back[data-v-385b5f14]{color:var(--tone-success-dot);border-color:var(--tone-success-dot)}.sub[data-v-385b5f14]{opacity:.6;margin:0;font-size:12.5px}.mono[data-v-385b5f14]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-385b5f14]{opacity:.55}.badges[data-v-385b5f14]{gap:8px;display:flex}.badge[data-v-385b5f14]{letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 10px;font-size:11px}.ctrl-card[data-v-385b5f14]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 18px;display:flex}.ctrl-left[data-v-385b5f14]{align-items:center;gap:14px;display:flex}.aw-pill.running[data-v-385b5f14]{background:var(--accent)}.ctrl-right[data-v-385b5f14]{align-items:center;gap:12px;display:flex}.ctrl-metrics[data-v-385b5f14]{color:var(--ink-soft);align-items:center;gap:8px;font-size:11.5px;display:flex}.ctrl-metrics .sep[data-v-385b5f14]{opacity:.4}.ctrl-metrics .warn[data-v-385b5f14]{color:var(--tone-warning-dot)}.add-btn[data-v-385b5f14]{padding:8px 16px;font-size:13px}.banner[data-v-385b5f14]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-385b5f14]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-385b5f14]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.table-card[data-v-385b5f14]{margin-bottom:14px;overflow-x:auto}.nodes-table[data-v-385b5f14]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-385b5f14],.nodes-table th[data-v-385b5f14]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-385b5f14]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-385b5f14]{margin-left:8px}.ch[data-v-385b5f14]{color:var(--ink-faint);margin-top:2px;font-size:10px;display:block}.right[data-v-385b5f14]{text-align:right}.val[data-v-385b5f14]{font-size:13px}.val small[data-v-385b5f14]{color:var(--ink-faint);margin-left:3px}.read-stale[data-v-385b5f14]{color:var(--tone-danger-dot,#e05a5a);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.read-btn[data-v-385b5f14]{margin-left:8px}.st-pill[data-v-385b5f14]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:2px 9px;font-size:10.5px;display:inline-block}.st-pill.ok[data-v-385b5f14]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-385b5f14]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-385b5f14],.st-pill.error[data-v-385b5f14]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-385b5f14]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-385b5f14],.st-pill.offline[data-v-385b5f14]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-385b5f14]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.ctrl-toggle[data-v-385b5f14]{cursor:pointer;color:var(--ink-faint);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;display:inline-flex}.ctrl-toggle .ct-dot[data-v-385b5f14]{background:var(--tone-neutral-dot);border-radius:50%;width:7px;height:7px}.ctrl-toggle.on[data-v-385b5f14]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.ctrl-toggle.on .ct-dot[data-v-385b5f14]{background:var(--tone-success-dot);box-shadow:0 0 6px var(--tone-success-dot)}.ctrl-toggle[data-v-385b5f14]:disabled{opacity:.55;cursor:wait}.node-paused td[data-v-385b5f14]{opacity:.6}.node-paused .write-row[data-v-385b5f14]{opacity:.5}.tpl-hint[data-v-385b5f14]{margin:0 0 10px;font-size:12px}.tpl-chips[data-v-385b5f14]{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.tpl-chip[data-v-385b5f14]{color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;display:inline-flex}.tpl-chip small[data-v-385b5f14]{color:var(--ink-faint)}.tpl-tag[data-v-385b5f14]{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--radius-pill);padding:1px 6px;font-size:10px;font-style:normal}.tpl-tag.builtin[data-v-385b5f14]{color:var(--ink-faint);border-color:var(--line-strong)}.write-row[data-v-385b5f14]{align-items:center;gap:6px;display:flex}.write-inp[data-v-385b5f14]{width:92px;padding:4px 8px}.write-btn[data-v-385b5f14]{padding:5px 12px}.mini-btn[data-v-385b5f14]{margin-right:4px}.mini-btn.danger[data-v-385b5f14]{color:var(--tone-danger-dot)}.mini-btn[data-v-385b5f14]:hover{border-color:var(--accent);color:var(--accent)}.inp[data-v-385b5f14]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.line-card[data-v-385b5f14]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 18px;display:flex}.line-status[data-v-385b5f14]{align-items:center;gap:12px;min-width:260px;display:flex}.line-dot[data-v-385b5f14]{background:var(--tone-neutral-dot);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tone-neutral-dot) 20%, transparent);border-radius:50%}.line-dot.on[data-v-385b5f14]{background:var(--tone-success-dot);box-shadow:0 0 0 4px color-mix(in srgb, var(--tone-success-dot) 22%, transparent);animation:1.6s infinite linePulse-385b5f14}@keyframes linePulse-385b5f14{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--tone-success-dot) 25%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--tone-success-dot) 8%, transparent)}}.line-info b[data-v-385b5f14]{font-size:14px}.line-info small[data-v-385b5f14]{margin-top:2px;font-size:11px;display:block}.line-ctl[data-v-385b5f14]{align-items:flex-end;gap:10px;display:flex}.ctl-sel[data-v-385b5f14]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11px;display:flex}.ctl-sel .inp[data-v-385b5f14]{min-width:150px}.pill-btn.stop[data-v-385b5f14]{background:var(--tone-danger-dot);border-color:var(--tone-danger-dot)}.product-row[data-v-385b5f14]{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.prod-chip[data-v-385b5f14]{cursor:pointer;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.prod-chip.on[data-v-385b5f14]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.prod-del[data-v-385b5f14]{color:var(--tone-danger-dot);font-weight:700}.query-card[data-v-385b5f14]{margin-bottom:14px;padding:14px 18px}.q-grid[data-v-385b5f14]{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;display:grid}.q-grid .f[data-v-385b5f14]{color:var(--ink-faint);font-size:11px}.q-actions[data-v-385b5f14]{justify-content:flex-end}.q-result[data-v-385b5f14]{margin-top:12px;overflow-x:auto}.cal-form[data-v-385b5f14]{grid-template-columns:2fr 1fr;align-items:end}.recipe-card[data-v-385b5f14]{margin-bottom:14px;padding:16px 18px}.recipe-hd[data-v-385b5f14]{align-items:center;gap:10px;margin-bottom:6px;display:flex}.recipe-hd h3[data-v-385b5f14]{margin:0;font-size:16px}.panel-tag[data-v-385b5f14]{color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:2px 8px;font-size:11px}.recipe-sub[data-v-385b5f14]{color:var(--ink-faint);margin:0 0 14px;font-size:12px}.recipe-grid[data-v-385b5f14]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.recipe-item[data-v-385b5f14]{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);padding:12px 14px}.recipe-name b[data-v-385b5f14]{font-size:13.5px}.recipe-name small[data-v-385b5f14]{margin-left:8px}.desc[data-v-385b5f14]{margin:4px 0;font-size:12px}.recipe-params[data-v-385b5f14]{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.param-chip[data-v-385b5f14]{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-chip);padding:2px 8px;font-size:11px}.recipe-actions[data-v-385b5f14]{align-items:center;gap:6px;margin-top:8px;display:flex}.ver-row[data-v-385b5f14]{border:1px solid var(--divider-hair);border-radius:10px;margin-bottom:8px;padding:10px 12px}.ver-row.cur[data-v-385b5f14]{background:color-mix(in srgb, var(--accent) 6%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.ver-head[data-v-385b5f14]{align-items:center;gap:10px;display:flex}.ver-v[data-v-385b5f14]{font-size:13px;font-weight:700}.ver-src[data-v-385b5f14]{border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:1px 8px;font-size:10.5px}.ver-src.agent[data-v-385b5f14]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.ver-src.user[data-v-385b5f14]{color:var(--ink-soft)}.ver-src.system[data-v-385b5f14]{color:var(--ink-faint)}.ver-src.cur[data-v-385b5f14]{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:#0000}.ver-actor[data-v-385b5f14]{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.ver-desc[data-v-385b5f14]{color:var(--ink);margin:6px 0 0;font-size:12px}.ver-diff[data-v-385b5f14]{color:var(--ink-faint);margin:4px 0 0;font-size:11px}.sec-label[data-v-385b5f14]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.runs[data-v-385b5f14]{margin-top:6px}.modal-mask[data-v-385b5f14]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-385b5f14]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-385b5f14]{margin:0 0 14px;font-size:17px}.seg-row[data-v-385b5f14]{gap:8px;margin-bottom:14px;display:flex}.seg[data-v-385b5f14]{cursor:pointer;color:var(--ink-faint);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex:1;padding:8px 0;font-size:13px}.seg.on[data-v-385b5f14]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.f-grid[data-v-385b5f14]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.driver-form[data-v-385b5f14]{grid-template-columns:repeat(3,1fr)}.param-row[data-v-385b5f14]{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.param-row .f[data-v-385b5f14]{flex:1}.param-del[data-v-385b5f14]{margin-bottom:2px}.f[data-v-385b5f14]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-385b5f14]{margin-left:3px;font-style:normal}.hint[data-v-385b5f14]{color:var(--ink-fainter);font-size:10px}.test-row[data-v-385b5f14]{align-items:center;gap:10px;margin:6px 0 4px;display:flex}.test-result[data-v-385b5f14]{font-family:var(--font-mono);font-size:11px}.test-result.good[data-v-385b5f14]{color:var(--tone-success-dot)}.test-result.bad[data-v-385b5f14]{color:var(--tone-danger-dot)}.m-err[data-v-385b5f14]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-note[data-v-385b5f14]{color:var(--ink-faint);margin:8px 0 0;font-size:12px}.param-chip.stale[data-v-385b5f14]{color:var(--ink-faint);background:color-mix(in srgb, var(--ink) 5%, transparent);border-color:var(--divider-hair);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--ink-faint) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-faint) 60%, transparent)}.chip-stale-tag[data-v-385b5f14]{color:var(--tone-danger-dot);background:color-mix(in srgb, var(--tone-danger-dot) 8%, transparent);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-chip);margin-left:5px;padding:0 5px;font-size:9.5px;font-style:normal;text-decoration:none}.row-stale[data-v-385b5f14]{color:var(--tone-danger-dot);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-chip);flex:none;padding:1px 7px;font-size:10.5px}.m-actions[data-v-385b5f14]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-385b5f14]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}.err[data-v-385b5f14]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-385b5f14]:hover{background:var(--hover-tint)}}
@@ -1 +0,0 @@
1
- .page[data-v-5a56242a]{padding:4px}.back[data-v-5a56242a]{color:var(--ink-faint);text-decoration:none}.back[data-v-5a56242a]:hover{color:var(--accent)}.aw-page-head h1[data-v-5a56242a]{letter-spacing:-.01em;margin:2px 0 4px;font-size:26px;font-weight:400}.mono[data-v-5a56242a]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sec[data-v-5a56242a]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 10px;font-size:12px;font-weight:600}.mt[data-v-5a56242a]{margin-top:22px}.err[data-v-5a56242a]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}.grid[data-v-5a56242a]{grid-template-columns:minmax(260px,340px) minmax(320px,1fr) minmax(280px,380px);align-items:start;gap:14px;display:grid}@media (width<=1100px){.grid[data-v-5a56242a]{grid-template-columns:1fr}}.pad[data-v-5a56242a],.value-card[data-v-5a56242a]{padding:16px 18px}.big-val[data-v-5a56242a]{color:var(--accent);margin:8px 0 10px;font-size:40px;line-height:1.1}.big-val small[data-v-5a56242a]{color:var(--ink-faint);margin-left:8px;font-size:15px}.live-canvas[data-v-5a56242a]{border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--paper-deep);width:100%;height:64px}.facts[data-v-5a56242a]{flex-direction:column;gap:4px;margin:14px 0 0;display:flex}.facts div[data-v-5a56242a]{justify-content:space-between;font-size:11.5px;display:flex}.facts dt[data-v-5a56242a]{color:var(--ink-faint)}.facts dd[data-v-5a56242a]{color:var(--ink);margin:0}.form-grid[data-v-5a56242a]{flex-direction:column;gap:10px;display:flex}.field[data-v-5a56242a]{color:var(--ink-faint);flex-direction:column;flex:1;gap:4px;font-size:12px;display:flex}.field.row[data-v-5a56242a]{flex-direction:row;align-items:center;gap:8px}.field.row small[data-v-5a56242a]{color:var(--ink-faint)}.field-row[data-v-5a56242a]{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.input[data-v-5a56242a]{width:100%;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:6px 9px;font-size:12.5px}.input[data-v-5a56242a]:disabled{opacity:.45}.grow[data-v-5a56242a]{flex:auto}.toggle[data-v-5a56242a]{cursor:pointer;color:var(--tone-neutral-dot);background:var(--tone-neutral-bg);border-radius:var(--radius-chip);border:0;align-self:flex-start;padding:6px 12px;font-size:12px}.toggle.on[data-v-5a56242a]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.toggle.slim[data-v-5a56242a]{padding:6px 10px;font-size:11.5px}.bind-row[data-v-5a56242a]{gap:8px;display:flex}.driver-grid[data-v-5a56242a]{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.field em[data-v-5a56242a]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.test-row[data-v-5a56242a]{align-items:center;gap:10px;margin-top:8px;display:flex}.test-out[data-v-5a56242a]{font-size:11px}.test-out.ok[data-v-5a56242a]{color:var(--tone-success-dot)}.test-out.bad[data-v-5a56242a]{color:var(--tone-danger-dot)}.col-hist[data-v-5a56242a]{min-width:0}.hist-hd[data-v-5a56242a]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.hist-ctl[data-v-5a56242a]{align-items:center;gap:6px;display:flex}.refresh-ctl[data-v-5a56242a]{color:var(--ink-soft);align-items:center;gap:3px;font-size:11px;display:inline-flex}.refresh-ctl input[data-v-5a56242a]{width:62px;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 6px;font-size:11px}.refresh-ctl input[data-v-5a56242a]:focus{border-color:var(--accent);outline:none}.hist-canvas[data-v-5a56242a]{border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--paper-deep);width:100%;height:130px}.raw-table[data-v-5a56242a]{border-collapse:collapse;width:100%;margin-top:10px;font-size:11px}.raw-table td[data-v-5a56242a],.raw-table th[data-v-5a56242a]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:4px 6px}.raw-table th[data-v-5a56242a]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-fainter);font-weight:600}.st-pill[data-v-5a56242a]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 11px;font-size:11px;display:inline-block}.st-pill.ok[data-v-5a56242a]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.warn[data-v-5a56242a]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.alarm[data-v-5a56242a]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.offline[data-v-5a56242a]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.frames-tile[data-v-5a56242a]{margin-top:14px}.frames-n[data-v-5a56242a]{color:var(--ink-faint);margin-left:8px}.vec-svg[data-v-5a56242a]{background:var(--tone-neutral-bg);border-radius:6px;width:100%;height:96px;margin-bottom:10px;display:block}.gal[data-v-5a56242a]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.gal-item[data-v-5a56242a]{cursor:zoom-in;margin:0}.gal-item img[data-v-5a56242a]{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;background:var(--tone-neutral-bg);border-radius:6px;width:100%;display:block}.gal-item figcaption[data-v-5a56242a]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.frames-empty[data-v-5a56242a]{color:var(--ink-faint);margin:8px 0;font-size:13px}.gal-full[data-v-5a56242a]{z-index:60;cursor:zoom-out;background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gal-full img[data-v-5a56242a]{border-radius:8px;max-width:92vw;max-height:92vh}
@@ -1 +0,0 @@
1
- .mh-ava[data-v-b043d434]{width:34px;height:34px;font-size:14px}.mh-body[data-v-b043d434]{flex-direction:column;gap:2px;min-width:0;display:flex}.mh-name[data-v-b043d434]{color:var(--ink);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.mh-dot[data-v-b043d434]{border-radius:50%;flex:none;width:7px;height:7px}.mh-role[data-v-b043d434]{color:var(--ink-faint);font-size:11.5px}.mh-task[data-v-b043d434]{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.mh-hint[data-v-b043d434]{color:var(--ink-fainter);margin-top:3px;font-size:10.5px}.fs[data-v-c35e0bdd]{flex-direction:column;gap:8px;display:flex}.addr[data-v-c35e0bdd]{font-family:var(--font-mono);background:color-mix(in srgb, currentColor 5%, transparent);border-radius:var(--radius-chip);padding:4px 8px;font-size:12px}.crumbs[data-v-c35e0bdd] a{color:var(--color-primary)}.manual[data-v-c35e0bdd]{max-width:100%}.list[data-v-c35e0bdd]{border:1px solid color-mix(in srgb, currentColor 10%, transparent);border-radius:var(--radius-chip);height:280px;overflow-y:auto}.row[data-v-c35e0bdd]{cursor:pointer;align-items:center;gap:8px;padding:4px 10px;font-size:12px;display:flex}.row[data-v-c35e0bdd]:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.row.up[data-v-c35e0bdd]{opacity:.7}.icon[data-v-c35e0bdd]{flex:none}.name[data-v-c35e0bdd]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty[data-v-c35e0bdd]{opacity:.4;text-align:center;padding:24px;font-size:12px}.hint[data-v-c35e0bdd]{opacity:.55;font-size:11px}.ch-plugin-list[data-v-755dc699]{flex-direction:column;gap:6px;width:100%;display:flex}.ch-plugin-row[data-v-755dc699]{border:1px solid var(--border,#80808040);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:4px 8px;display:flex}.ch-plugin-main[data-v-755dc699]{align-items:baseline;gap:8px;min-width:0;display:flex}.ch-plugin-desc[data-v-755dc699]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.channel-list[data-v-755dc699]{flex-direction:column;min-height:100%;padding:12px 10px 8px;display:flex}.list-head[data-v-755dc699]{justify-content:space-between;align-items:center;padding:0 8px 8px;display:flex}.title[data-v-755dc699]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:16px}.head-actions[data-v-755dc699]{gap:2px;display:inline-flex}.head-op[data-v-755dc699]{width:24px;height:24px;color:var(--ink-faint);cursor:pointer;border-radius:var(--radius-chip);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.head-op[data-v-755dc699]:hover{color:var(--ink);background:var(--paper-deep)}.empty[data-v-755dc699]{color:var(--ink-faint);padding:14px 10px;font-size:12px}.channel-item[data-v-755dc699]{cursor:pointer;border-radius:var(--radius-panel-sm);transition:background var(--transition-fast);margin:1px 0;padding:7px 9px}.channel-item[data-v-755dc699]:hover{background:var(--paper-deep)}.channel-item.active[data-v-755dc699]{background:var(--paper-deep);box-shadow:inset 2px 0 0 var(--accent)}.row1[data-v-755dc699]{color:var(--ink-soft);align-items:center;gap:7px;font-size:13px;display:flex}.channel-item.active .row1[data-v-755dc699]{color:var(--ink);font-weight:500}.dot[data-v-755dc699]{background:var(--tone-neutral-dot);opacity:.55;border-radius:50%;flex:none;width:7px;height:7px}.dot.live[data-v-755dc699]{background:var(--tone-success-dot);opacity:1}.ch-name[data-v-755dc699]{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.op[data-v-755dc699]{width:20px;height:20px;color:var(--ink-fainter);cursor:pointer;border-radius:var(--radius-chip);opacity:.55;transition:opacity var(--transition-fast), color var(--transition-fast), background var(--transition-fast);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.channel-item.active .op[data-v-755dc699],.channel-item:hover .op[data-v-755dc699]{opacity:.9}.op[data-v-755dc699]:hover{opacity:1;color:var(--ink);background:var(--paper-deep)}.op[data-v-755dc699]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.row2[data-v-755dc699]{color:var(--ink-faint);padding-left:14px;font-size:11px}.meta.syncing[data-v-755dc699]{opacity:.6;font-style:italic}.row2.ws[data-v-755dc699]{max-width:100%;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;color:var(--ink-fainter);text-align:left;cursor:copy;border-radius:var(--radius-chip);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:0;align-items:center;gap:4px;padding:0 2px 0 14px;font-size:11px;display:flex;overflow:hidden}.row2.ws[data-v-755dc699]:hover{color:var(--ink-soft);background:color-mix(in srgb, currentColor 6%, transparent)}.row2.ws[data-v-755dc699]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mount-template[data-v-755dc699]{border-top:1px solid var(--line);margin-top:10px;padding:12px 6px 6px}.select[data-v-755dc699]{width:100%}.tpl-hint[data-v-755dc699]{color:var(--ink-fainter);padding:5px 2px 0;font-size:10.5px}.ws-hint[data-v-755dc699]{color:var(--ink-faint);font-size:11px}.live-bar[data-v-865fed94]{background:var(--paper);border-top:1px solid var(--line);flex:none;align-items:center;gap:6px;min-height:50px;padding:7px 8px;display:flex;position:relative}.live-idle[data-v-865fed94]{align-items:center;gap:8px;padding-left:6px;display:flex}.idle-dot[data-v-865fed94]{background:var(--ink-fainter);border-radius:50%;flex:none;width:7px;height:7px}.idle-text[data-v-865fed94]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.live-main[data-v-865fed94]{font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;border-radius:var(--radius-panel-sm);transition:background var(--transition-fast);background:0 0;border:0;flex:1;align-items:center;gap:9px;padding:4px 6px;display:flex}.live-main[data-v-865fed94]:hover{background:var(--paper-deep)}.live-ava[data-v-865fed94]{flex:none;line-height:0;position:relative}.live-avatar[data-v-865fed94]{width:22px;height:22px;font-size:10px}.live-avatar-sm[data-v-865fed94]{width:20px;height:20px;font-size:9.5px}.live-pip[data-v-865fed94]{background:var(--tone-live-dot);border:1.5px solid var(--paper);border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.live-pip[data-v-865fed94]:after{content:"";background-color:inherit;border-radius:50%;animation:1.9s cubic-bezier(0,0,.2,1) infinite lb-ping-865fed94;position:absolute;inset:0}.live-text[data-v-865fed94]{flex-direction:column;gap:1px;min-width:0;display:flex}.live-name[data-v-865fed94]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.live-detail[data-v-865fed94]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.live-more[data-v-865fed94]{color:var(--ink-faint);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);transition:background var(--transition-fast), color var(--transition-fast);flex:none;padding:2px 8px;font-size:11px;font-weight:600}.live-more[data-v-865fed94]:hover{color:var(--ink);background:var(--paper-deep)}.live-backdrop[data-v-865fed94]{z-index:40;position:fixed;inset:0}.live-pop[data-v-865fed94]{z-index:41;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-panel-sm);max-height:280px;box-shadow:var(--shadow-float);padding:6px;position:absolute;bottom:calc(100% + 6px);left:8px;right:8px;overflow:auto}.live-pop-title[data-v-865fed94]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:4px 8px 6px;font-size:10px;font-weight:600}.live-pop-item[data-v-865fed94]{width:100%;font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;border-radius:var(--radius-panel-sm);background:0 0;border:0;align-items:center;gap:9px;padding:7px 8px;display:flex}.live-pop-item[data-v-865fed94]:hover{background:var(--paper-deep)}.live-pop-text[data-v-865fed94]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.live-pop-name[data-v-865fed94]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.live-pop-detail[data-v-865fed94]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pop-dot[data-v-865fed94]{background:var(--tone-live-dot);border-radius:50%;flex:none;width:8px;height:8px}@keyframes lb-ping-865fed94{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(2.4)}}@media (prefers-reduced-motion:reduce){.live-pip[data-v-865fed94]:after{opacity:0;animation:none}}.pane-splitter[data-v-4f787ef8]{z-index:5;cursor:col-resize;touch-action:none;outline:none;flex:0 0 9px;position:relative}.pane-splitter[data-v-4f787ef8]:before{content:"";width:1px;transition:background var(--transition-fast);background:0 0;position:absolute;top:0;bottom:0;left:4px}.pane-splitter.divider[data-v-4f787ef8]:before{background:var(--line)}.pane-splitter.dragging[data-v-4f787ef8]:before,.pane-splitter[data-v-4f787ef8]:focus-visible:before,.pane-splitter[data-v-4f787ef8]:hover:before{background:var(--ink)}.pane-splitter.bare[data-v-4f787ef8]:before{left:2px}.pane-splitter.bare.dragging[data-v-4f787ef8]:before,.pane-splitter.bare[data-v-4f787ef8]:hover:before{background:color-mix(in srgb, var(--ink) 35%, transparent)}.grip[data-v-4f787ef8]{background:var(--ink);border-radius:var(--radius-pill);opacity:0;width:2px;height:18px;transition:opacity var(--transition-fast);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pane-splitter.dragging .grip[data-v-4f787ef8],.pane-splitter:focus-visible .grip[data-v-4f787ef8],.pane-splitter:hover .grip[data-v-4f787ef8]{opacity:.45}.pane-splitter.dragging .grip[data-v-4f787ef8]{opacity:.85}.stream-bubble[data-v-89d25e3d]{padding:0;position:relative}.stream-text[data-v-89d25e3d]{color:var(--ink);word-break:break-word;overflow-wrap:anywhere;background:var(--bubble-bg);border:1px solid var(--bubble-line);border-radius:var(--radius-bubble);box-shadow:var(--bubble-shadow);transition:border-color var(--transition-fast);margin:2px 2px 8px 0;padding:9px 13px 10px;font-size:13px;line-height:1.7}.stream-text[data-v-89d25e3d]:hover{border-color:var(--line-strong)}.prose[data-v-89d25e3d] p{margin:0 0 7px}.prose[data-v-89d25e3d] p:last-child{margin-bottom:0}.prose[data-v-89d25e3d] h3,.prose[data-v-89d25e3d] h4,.prose[data-v-89d25e3d] h5{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:12px 0 5px;font-size:15px;font-weight:600;line-height:1.35}.prose[data-v-89d25e3d] h3:first-child,.prose[data-v-89d25e3d] h4:first-child,.prose[data-v-89d25e3d] h5:first-child{margin-top:3px}.prose[data-v-89d25e3d] ul{margin:3px 0 8px;padding-left:20px;list-style:outside}.prose[data-v-89d25e3d] ul :deep(ul){margin:2px 0 4px;list-style:circle}.prose[data-v-89d25e3d] li{margin:2px 0;padding-left:1px}.prose[data-v-89d25e3d] li::marker{color:var(--ink-fainter)}.prose[data-v-89d25e3d] code{font-family:var(--font-mono);background:var(--paper-deep);border-radius:var(--radius-chip);padding:1px 5px;font-size:11.5px}.prose[data-v-89d25e3d] blockquote{color:var(--ink-soft);border-left:3px solid var(--line-strong);border-radius:0 var(--radius-chip) var(--radius-chip) 0;background:color-mix(in srgb, var(--paper) 55%, transparent);margin:7px 0;padding:4px 4px 4px 12px}.prose[data-v-89d25e3d] b{font-weight:650}.prose[data-v-89d25e3d] a{color:var(--tone-info-dot);text-underline-offset:2px;text-decoration:underline}.prose[data-v-89d25e3d] .code-block{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);margin:7px 0;overflow:hidden}.prose[data-v-89d25e3d] .code-head{border-bottom:1px solid var(--divider-hair);justify-content:space-between;align-items:center;padding:4px 6px 4px 10px;display:flex}.prose[data-v-89d25e3d] .code-lang{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:9.5px}.prose[data-v-89d25e3d] .code-copy{font-family:var(--font-mono);color:var(--ink-soft);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast);padding:1px 8px;font-size:10px}.prose[data-v-89d25e3d] .code-copy:hover{color:var(--ink);border-color:var(--line-strong)}.prose[data-v-89d25e3d] .code-block pre{margin:0;padding:8px 10px;overflow-x:auto}.prose[data-v-89d25e3d] .code-block code{background:0 0;border-radius:0;padding:0;font-size:11px;line-height:1.55}.cursor[data-v-89d25e3d]{color:var(--accent);animation:.9s step-end infinite blink-89d25e3d;display:inline-block}@keyframes blink-89d25e3d{50%{opacity:0}}.stream-pending[data-v-89d25e3d]{align-items:center;gap:4px;padding:6px 0;display:flex}.pending-dot[data-v-89d25e3d]{background:var(--ink-faint);border-radius:50%;width:4px;height:4px;animation:1.1s ease-in-out infinite pulse-89d25e3d}.pending-dot[data-v-89d25e3d]:nth-child(2){animation-delay:.18s}.pending-dot[data-v-89d25e3d]:nth-child(3){animation-delay:.36s}@keyframes pulse-89d25e3d{0%,to{opacity:.25}50%{opacity:1}}.stream-covered[data-v-89d25e3d]{opacity:.5;color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;font-size:11px;display:flex}.tool-cluster[data-v-0bef4195]{padding:1px 0 5px 2px;position:relative}.tool-line[data-v-0bef4195]{min-width:0;font-family:var(--font-body);align-items:baseline;gap:8px;padding:1.5px 0;font-size:12px;line-height:1.6;display:flex}.tool-time[data-v-0bef4195]{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-fainter);flex:0 0 34px;font-size:9.5px}.tool-node[data-v-0bef4195]{border:1.5px solid var(--line-strong);background:var(--paper-raised);border-radius:2.5px;flex:0 0 7px;align-self:center;width:7px;height:7px}.tool-icon[data-v-0bef4195]{opacity:.75;flex:none;font-size:13px;line-height:1.5}.tool-name[data-v-0bef4195]{font-family:var(--font-mono);flex:none;font-size:11.5px;font-weight:500}.tool-args[data-v-0bef4195]{min-width:0;max-width:min(52ch,100%);font-family:var(--font-mono);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;opacity:.85;font-size:11px;overflow:hidden}.tool-line.host .tool-node[data-v-0bef4195]{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 14%, var(--paper-raised))}.tool-line.host .tool-icon[data-v-0bef4195],.tool-line.host .tool-name[data-v-0bef4195]{color:var(--ink);font-weight:600}.tool-line.host .tool-icon[data-v-0bef4195]{opacity:1}.tool-kind[data-v-0bef4195]{letter-spacing:.1em;color:var(--ink-faint);border:1px solid var(--line);border-radius:var(--radius-pill);background:0 0;flex:none;align-self:center;padding:0 5px;font-size:8.5px;line-height:14px}.tool-line:hover .tool-args[data-v-0bef4195]{opacity:1}.more-btn[data-v-0bef4195]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-pill);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:5px;margin-left:49px;padding:1px 10px;font-size:10px}.more-btn[data-v-0bef4195]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.status-cluster[data-v-1da3d4ae]{padding:1px 0 4px 2px}.st-toggle[data-v-1da3d4ae]{width:100%;min-width:0;font-family:var(--font-mono);text-align:left;cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:0;align-items:baseline;gap:7px;padding:2px 4px 2px 0;font-size:10.5px;display:flex}.st-toggle[data-v-1da3d4ae]:hover{background:color-mix(in srgb, var(--ink) 4%, transparent)}.chev[data-v-1da3d4ae]{color:var(--ink-faint);flex:none;font-size:9px;line-height:15px;transition:transform .12s}.chev.open[data-v-1da3d4ae]{transform:rotate(90deg)}.st-label[data-v-1da3d4ae]{letter-spacing:.06em;color:var(--ink-faint);flex:none}.st-count[data-v-1da3d4ae]{color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 8%, transparent);border-radius:var(--radius-chip);flex:none;align-self:center;padding:0 4px;font-size:9px;line-height:13px}.st-preview[data-v-1da3d4ae]{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;opacity:.75;font-style:italic;overflow:hidden}.st-detail[data-v-1da3d4ae]{background:color-mix(in srgb, var(--ink) 3.5%, transparent);border-left:2px solid color-mix(in srgb, var(--ink) 14%, transparent);border-radius:0 3px 3px 0;max-height:320px;margin:2px 0 2px 16px;padding:4px 8px;overflow-y:auto}.st-line[data-v-1da3d4ae]{align-items:baseline;gap:6px;display:flex}.st-line+.st-line[data-v-1da3d4ae]{margin-top:4px}.st-mark[data-v-1da3d4ae]{color:var(--ink-faint);flex:none}.st-text[data-v-1da3d4ae]{min-width:0;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0;font-size:10.5px;line-height:1.5}.life-cluster[data-v-effa619b]{font-family:var(--font-mono);opacity:.88;align-items:center;gap:8px;padding:2px 0 3px 2px;font-size:11px;display:flex}.life-dot[data-v-effa619b]{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.life-dot[data-state=busy][data-v-effa619b]{background:var(--accent-cobalt)}.life-dot[data-state=idle][data-v-effa619b]{background:var(--accent-moss)}.life-row[data-v-effa619b]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.life-state[data-v-effa619b]{text-transform:uppercase;letter-spacing:.1em;font-size:9.5px;font-weight:500}.life-task[data-v-effa619b]{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.life-meta[data-v-effa619b]{opacity:.6;font-size:10px}.life-count[data-v-effa619b]{opacity:.45;font-size:9.5px}.route-cluster[data-v-9422b1df]{padding:1px 0 5px}.chat-row[data-v-9422b1df]{background:var(--bubble-bg);border:1px solid var(--bubble-line);border-radius:var(--radius-bubble);box-shadow:var(--bubble-shadow);transition:border-color var(--transition-fast), background var(--transition-fast);margin-bottom:6px;padding:7px 12px 8px}.chat-row[data-v-9422b1df]:hover{border-color:var(--line-strong)}.chat-row[data-v-9422b1df]:last-of-type{margin-bottom:0}.chat-meta[data-v-9422b1df]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.who-pill[data-v-9422b1df]{font-family:var(--font-body);color:var(--mention-ink);cursor:pointer;background:var(--mention);border-radius:var(--radius-pill);transition:background var(--transition-fast);border:0;align-items:center;gap:5px;padding:1px 8px 1px 3px;font-size:11.5px;font-weight:600;display:inline-flex}.who-pill[data-v-9422b1df]:hover{background:color-mix(in srgb, var(--mention) 70%, var(--g-peach))}.who-ava[data-v-9422b1df]{width:18px;height:18px;font-size:9px}.to-arrow[data-v-9422b1df]{color:var(--ink-fainter);font-size:11px}.who-broadcast[data-v-9422b1df]{color:var(--ink-faint);font-size:11px}.human-chip[data-v-9422b1df]{color:var(--ink-soft);background:var(--paper-deep);border-radius:var(--radius-chip);align-items:center;gap:5px;padding:0 7px;font-size:11.5px;font-weight:600;display:inline-flex}.route-badge[data-v-9422b1df]{color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 4.5%, transparent);border:1px solid var(--line);border-radius:var(--radius-chip);align-items:center;gap:4px;padding:0 6px;font-size:9.5px;display:inline-flex}.route-badge[data-tone=assign][data-v-9422b1df],.route-badge[data-tone=immediate][data-v-9422b1df],.route-badge[data-tone=notice][data-v-9422b1df],.route-badge[data-tone=peer][data-v-9422b1df]{color:var(--ink-soft);border-color:var(--line);background:0 0}.route-badge[data-tone=assign][data-v-9422b1df]{color:var(--ink-soft)}.route-badge.receipt[data-v-9422b1df]{color:var(--tone-warning-dot);background:color-mix(in srgb, var(--tone-warning-dot) 12%, transparent);border-color:#0000}.route-badge.reply-link[data-v-9422b1df]{color:var(--ink-fainter);background:color-mix(in srgb, var(--ink) 6%, transparent);font-size:9.5px}.chat-time[data-v-9422b1df]{color:var(--ink-fainter);margin-left:auto;font-size:9.5px}.chat-body[data-v-9422b1df]{color:var(--ink);white-space:normal;word-break:break-word;padding:1px 0 0 2px;font-size:13px;line-height:1.7}.prose[data-v-9422b1df] p{margin:0 0 6px}.prose[data-v-9422b1df] p:last-child{margin-bottom:0}.prose[data-v-9422b1df] code{font-family:var(--font-mono);background:var(--paper-deep);border-radius:var(--radius-chip);padding:.5px 4px;font-size:11px}.prose[data-v-9422b1df] pre{max-width:100%;font-family:var(--font-mono);background:var(--paper-deep);border-radius:var(--radius-chip);margin:4px 0;padding:6px 9px;font-size:11px;overflow-x:auto}.prose[data-v-9422b1df] b{font-weight:600}.more-btn[data-v-9422b1df]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-9422b1df]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.task-cluster[data-v-cdaa9d8e]{flex-wrap:wrap;align-items:center;gap:7px;padding:3px 0 4px 2px;font-size:12px;display:flex}.state-chip[data-v-cdaa9d8e]{font-family:var(--font-body);color:var(--ink);border-radius:var(--radius-pill);align-items:center;gap:5px;padding:1px 7px;font-size:10px;display:inline-flex}.state-chip .state-code[data-v-cdaa9d8e]{font-family:var(--font-mono);letter-spacing:.05em;opacity:.55;font-size:8.5px}.state-dot[data-v-cdaa9d8e]{border-radius:50%;width:5px;height:5px}.task-tag[data-v-cdaa9d8e]{margin:0!important}.chain-arrow[data-v-cdaa9d8e]{opacity:.4;font-size:10px}.task-title[data-v-cdaa9d8e]{font-weight:600}.task-assignee[data-v-cdaa9d8e]{font-family:var(--font-mono);opacity:.6;font-size:10.5px}.progress[data-v-cdaa9d8e]{flex:0 0 180px;margin:0!important}.artifact-card[data-v-1699711f]{background:color-mix(in srgb, currentColor 4%, transparent);border-left:2px solid var(--ink-faint);border-radius:var(--radius-chip);margin:2px 0;padding:4px 8px}.artifact-card.deliverable[data-v-1699711f]{border-left-color:var(--tone-warning-dot)}.artifact-head[data-v-1699711f]{opacity:.85;align-items:center;gap:6px;font-size:11px;display:flex}.name[data-v-1699711f]{font-weight:600}.op[data-v-1699711f]{opacity:.7;font-size:11px}.artifact-body[data-v-1699711f]{white-space:pre-wrap;word-break:break-word;margin:4px 0 0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px}.artifact-body.json[data-v-1699711f]{color:var(--tone-info-dot)}.artifact-cluster[data-v-8e7bf1b1]{padding:2px 0 6px 2px}.dup-note[data-v-8e7bf1b1]{font-family:var(--font-mono);color:var(--ink-faint);align-items:center;gap:6px;font-size:10px;display:flex}.artifact-cluster[data-v-8e7bf1b1]>.artifact-card{margin-top:4px}.member-cluster[data-v-0647f285]{padding:1px 0 5px 2px}.member-line[data-v-0647f285]{font-family:var(--font-mono);color:var(--ink-soft);align-items:center;gap:7px;font-size:10.5px;line-height:20px;display:flex}.line-text[data-v-0647f285]{overflow-wrap:anywhere;word-break:break-word}.more-btn[data-v-0647f285]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-0647f285]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.memory-cluster[data-v-9ba9f01b]{padding:1px 0 5px 2px}.memory-line[data-v-9ba9f01b]{font-family:var(--font-mono);align-items:center;gap:7px;font-size:10.5px;line-height:20px;display:flex}.mem-scope[data-v-9ba9f01b]{letter-spacing:.08em;color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 5%, transparent);border:1px solid var(--line);border-radius:var(--radius-chip);padding:0 5px;font-size:8.5px}.mem-title[data-v-9ba9f01b]{overflow-wrap:anywhere;word-break:break-word}.more-btn[data-v-9ba9f01b]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-9ba9f01b]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.error-cluster[data-v-22804f20]{padding:2px 0 5px 2px}.error-line[data-v-22804f20]{font-family:var(--font-mono);color:var(--tone-danger-dot);align-items:center;gap:7px;padding:1px 6px;font-size:10.5px;line-height:20px;display:flex}.error-line[data-v-22804f20]:first-child{background:var(--tone-danger-bg);border-radius:var(--radius-chip)}.error-code[data-v-22804f20]{background:color-mix(in srgb, var(--tone-danger-dot) 14%, transparent);border-radius:var(--radius-chip);padding:0 5px;font-size:9px}.error-text[data-v-22804f20]{overflow-wrap:anywhere;word-break:break-word}.more-btn[data-v-22804f20]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-22804f20]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.other-cluster[data-v-5f033e18]{padding:1px 0 5px 2px}.other-row[data-v-5f033e18]{font-family:var(--font-mono);opacity:.65;align-items:center;gap:7px;font-size:10.5px;line-height:20px;display:flex}.more-btn[data-v-5f033e18]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-5f033e18]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.event-block[data-v-49551fd4]{-moz-column-gap:11px;grid-template-columns:30px minmax(0,1fr);column-gap:11px;margin:0;padding:5px 10px 4px 12px;transition:background .15s;display:grid;position:relative}.event-block[data-v-49551fd4]:hover{background:var(--hover-tint);border-radius:4px}.event-block.enter[data-v-49551fd4]{animation:block-in-49551fd4 .32s var(--ease-out-quart) backwards;animation-delay:var(--d,0s)}@media (prefers-reduced-motion:reduce){.event-block.enter[data-v-49551fd4]{animation:none}}.event-block.turn-start[data-v-49551fd4]{border-top:1px solid var(--line);margin-top:13px;padding-top:9px}.event-block.turn-start.compact[data-v-49551fd4]{border-top:0;margin-top:0;padding-top:5px}.event-block[data-kind=stream][data-v-49551fd4]:not([data-settled=true]){background:color-mix(in srgb, var(--ink) 2.5%, transparent);border-radius:4px}.event-block[data-tier=attention][data-v-49551fd4]{box-shadow:inset 2px 0 0 color-mix(in srgb, var(--tone-warning-dot) 55%, transparent)}.event-block[data-kind=error][data-v-49551fd4]{box-shadow:inset 2px 0 0 color-mix(in srgb, var(--tone-danger-dot) 70%, transparent)}.event-block[data-covered=true][data-v-49551fd4]{opacity:.72}.event-block[data-tier=terminal] .agent-name[data-v-49551fd4]{font-weight:700}.event-block[data-tier=silent][data-v-49551fd4]{opacity:.88}.event-block[data-tier=silent][data-v-49551fd4]:hover{opacity:1}.tier-attention[data-v-49551fd4]{color:var(--tone-warning-dot);background:color-mix(in srgb, var(--tone-warning-dot) 13%, transparent);border-radius:var(--radius-chip);align-items:center;gap:3px;padding:0 5px;font-size:9px;display:inline-flex}@keyframes block-in-49551fd4{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.agent-avatar[data-v-49551fd4]{width:30px;min-width:30px;height:30px;font-family:var(--font-body);color:var(--ink);background:var(--paper-deep);border:0;border-radius:50%;justify-content:center;align-items:center;margin-top:0;padding:0;font-size:12px;font-weight:600;display:flex;position:relative}.agent-avatar.clickable[data-v-49551fd4]{cursor:pointer;transition:transform var(--transition-fast) var(--im-spring), box-shadow var(--transition-fast)}.agent-avatar.clickable[data-v-49551fd4]:hover{box-shadow:0 0 0 var(--radius-chip) transparent, 0 3px 10px #0c0a0929;transform:scale(1.06)}.agent-avatar.is-agent[data-v-49551fd4]{color:var(--on-av);background:var(--av,var(--av-fallback))}.agent-avatar.is-human[data-v-49551fd4]{color:var(--ink-soft);background:var(--paper-deep);box-shadow:inset 0 0 0 1px var(--line-strong)}.agent-avatar .system-icon[data-v-49551fd4]{font-size:15px;line-height:1}.av-status[data-v-49551fd4]{background:var(--ink-fainter);border:1.5px solid var(--paper-raised);border-radius:50%;width:8px;height:8px;position:absolute;bottom:-2px;right:-2px}.av-status.busy[data-v-49551fd4]{background:var(--tone-live-dot);animation:1.9s ease-in-out infinite av-breathe-49551fd4}.av-status.stopped[data-v-49551fd4]{background:var(--tone-danger-dot)}@keyframes av-breathe-49551fd4{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.av-status.busy[data-v-49551fd4]{opacity:.9;animation:none}}.event-block.compact .agent-avatar[data-v-49551fd4]{visibility:hidden;height:0;margin-top:0}.event-block.compact[data-v-49551fd4]{padding-top:2px;padding-bottom:2px}.event-block.compact+.event-block.compact[data-v-49551fd4]{margin-top:-2px}.eb-main[data-v-49551fd4]{min-width:0}.block-head[data-v-49551fd4]{min-height:20px;font-family:var(--font-body);align-items:center;gap:8px;padding-bottom:1px;display:flex;position:relative}.agent-name[data-v-49551fd4]{max-width:220px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.role-label[data-v-49551fd4]{font-family:var(--font-body);color:var(--ink-fainter);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.kind-chip[data-v-49551fd4]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-fainter);align-items:center;padding:0 2px;font-size:9px;line-height:14px;display:inline-flex}.head-right[data-v-49551fd4]{font-variant-numeric:tabular-nums;color:var(--ink-faint);flex:auto;justify-content:flex-end;align-items:center;gap:6px;font-size:9.5px;display:flex}.folded[data-v-49551fd4]{color:var(--ink-faint);background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:var(--radius-chip);padding:0 4px}.merged[data-v-49551fd4]{background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:var(--radius-chip);padding:0 4px}.time[data-v-49551fd4]{width:60px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:9.5px}.ghost-time[data-v-49551fd4]{z-index:2;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-fainter);pointer-events:none;opacity:0;background:var(--paper-raised);border-radius:var(--radius-chip);transition:opacity var(--transition-fast);padding:0 5px;font-size:9px;position:absolute;top:3px;right:10px}.event-block.compact:hover .ghost-time[data-v-49551fd4]{opacity:1}.running-chip[data-v-49551fd4]{color:var(--ink-faint);align-items:center;gap:4px;display:inline-flex}.running-chip .running-dot[data-v-49551fd4]{background:var(--tone-live-dot);border-radius:50%;width:6px;height:6px;animation:1.9s ease-in-out infinite av-breathe-49551fd4}@media (prefers-reduced-motion:reduce){.running-chip .running-dot[data-v-49551fd4]{opacity:.9;animation:none}}.eb-toolbar[data-v-49551fd4]{z-index:5;opacity:0;pointer-events:none;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-chip);transition:opacity var(--transition-fast);gap:2px;padding:1px;display:inline-flex;position:absolute;top:-4px;right:56px}.event-block:hover .eb-toolbar[data-v-49551fd4]{opacity:1;pointer-events:auto}.eb-tool[data-v-49551fd4]{width:22px;height:22px;color:var(--ink-faint);cursor:pointer;border-radius:var(--radius-chip);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:12px;display:inline-flex}.eb-tool[data-v-49551fd4]:hover{color:var(--ink);background:var(--paper-deep)}.eb-body[data-v-49551fd4]{margin-top:1px;padding-left:2px!important}.transcript[data-v-a25318ff]{background:var(--paper);flex-direction:column;height:100%;min-height:0;display:flex}.filter-bar[data-v-a25318ff]{background:var(--paper-raised);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:6px 16px;display:flex}.count[data-v-a25318ff]{font-size:11px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-fainter)}.sync-chip[data-v-a25318ff]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);background:var(--paper-deep);border-radius:var(--radius-pill);align-items:center;gap:5px;margin-left:auto;padding:1px 8px;font-size:9.5px;display:inline-flex}.sync-chip[data-state=syncing][data-v-a25318ff]{color:var(--tone-warning-dot)}.sync-chip[data-state=open] .sync-dot[data-v-a25318ff]{color:var(--tone-success-dot);font-size:7px}.sync-pulse[data-v-a25318ff]{background:var(--tone-warning-dot);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite sync-breath-a25318ff}@keyframes sync-breath-a25318ff{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.sync-pulse[data-v-a25318ff]{opacity:.8;animation:none}}.jump-latest[data-v-a25318ff]{z-index:5;float:right;font-family:var(--font-body);color:var(--on-accent);cursor:pointer;background:var(--accent);border-radius:var(--radius-pill);box-shadow:var(--shadow-float);transition:opacity var(--transition-fast), transform var(--transition-fast);border:none;align-items:center;gap:5px;margin-right:14px;padding:5px 12px;font-size:11px;display:inline-flex;position:sticky;bottom:12px}.jump-latest[data-v-a25318ff]:hover{opacity:.92}.jump-latest[data-v-a25318ff]:active{transform:translateY(1px)}.scroller[data-v-a25318ff]{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.column[data-v-a25318ff]{max-width:900px;margin:0 auto;padding:10px 4px 24px;animation:.28s ease-out column-in-a25318ff}@keyframes column-in-a25318ff{0%{opacity:0}to{opacity:1}}.earlier-btn[data-v-a25318ff]{font-family:var(--font-body);color:var(--ink-faint);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);transition:background var(--transition-fast), color var(--transition-fast);margin:0 auto 10px;padding:4px 14px;font-size:11px;display:block}.earlier-btn[data-v-a25318ff]:hover:not(:disabled){color:var(--ink);background:var(--paper-deep)}.earlier-btn[data-v-a25318ff]:disabled{opacity:.5;cursor:default}.earlier-done[data-v-a25318ff]{font-family:var(--font-mono);text-align:center;color:var(--ink-fainter);margin-bottom:8px;font-size:9.5px}.empty[data-v-a25318ff]{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:72px 16px;display:flex}.empty-icon[data-v-a25318ff]{color:var(--ink-fainter);font-size:28px}.empty-title[data-v-a25318ff]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink-soft);margin:0;font-size:22px;font-weight:400}.empty-hint[data-v-a25318ff]{color:var(--ink-faint);margin:0;font-size:12px}.skel-stack[data-v-a25318ff]{flex-direction:column;gap:18px;padding:26px 6px;display:flex}.skel-row[data-v-a25318ff]{animation:.4s cubic-bezier(.22,.68,.36,1) backwards aw-rise;animation-delay:var(--d,0s);grid-template-columns:26px minmax(0,1fr);gap:10px;display:grid}.skel-ava[data-v-a25318ff]{border-radius:50%;width:26px;height:26px}.skel-lines[data-v-a25318ff]{flex-direction:column;gap:6px;display:flex}.skel-line[data-v-a25318ff]{height:11px}.skel-line.name[data-v-a25318ff]{width:120px;height:13px}.skel-line.w70[data-v-a25318ff]{width:70%}.skel-line.w45[data-v-a25318ff]{width:45%}@media (prefers-reduced-motion:reduce){.skel-row[data-v-a25318ff]{animation:none}}.lane-empty[data-v-b04638b2]{color:var(--ink-fainter);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 8px;font-size:11.5px;display:flex}.lane-empty-icon[data-v-b04638b2]{color:var(--ink-fainter);font-size:16px;animation:1.2s linear infinite lane-sync-spin-b04638b2}@keyframes lane-sync-spin-b04638b2{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.lane-empty-icon[data-v-b04638b2]{animation:none}}.lane-earlier[data-v-b04638b2]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin:2px auto 8px;padding:2px 12px;font-size:10px;display:block}.lane-earlier[data-v-b04638b2]:hover:not(:disabled){color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.lane-earlier[data-v-b04638b2]:disabled{cursor:default;opacity:.55}.lanes-wrap[data-v-3d57301f]{background:var(--paper);flex-direction:column;flex:auto;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.toolbar[data-v-3d57301f]{background:var(--paper-raised);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 14px 6px;display:flex}.team-summary[data-v-3d57301f]{flex:auto;align-items:baseline;gap:7px;min-width:0;display:flex}.ts-label[data-v-3d57301f]{letter-spacing:.08em;color:var(--ink-faint);flex:none;font-size:11px}.ts-count[data-v-3d57301f]{color:var(--ink);flex:none;font-size:15px;font-weight:700;line-height:1}.ts-unit[data-v-3d57301f]{color:var(--ink-faint);flex:none;font-size:11px}.ts-detail[data-v-3d57301f]{min-width:0;font-size:11px;font-family:var(--font-mono);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.lanes[data-v-3d57301f]{overscroll-behavior:contain;flex:auto;gap:10px;width:100%;min-width:0;min-height:0;padding:8px 12px 12px;display:flex;overflow:auto hidden}.lane[data-v-3d57301f]{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);min-width:240px;box-shadow:var(--shadow-card);flex-direction:column;flex:none;display:flex;container-type:inline-size}.lane-head[data-v-3d57301f]{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:8px;padding:10px 12px 9px;font-size:13px;display:flex}.head-top[data-v-3d57301f]{align-items:center;gap:7px;min-width:0;display:flex}.lane-ava[data-v-3d57301f]{width:26px;height:26px;color:var(--on-av);border-radius:var(--radius-panel-sm);flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex;position:relative}.lane-ava>span[data-v-3d57301f]:first-child{background:var(--av,var(--av-fallback));border-radius:var(--radius-panel-sm);justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.lane-state[data-v-3d57301f]{background:var(--ink-fainter);border:1.5px solid var(--paper-raised);border-radius:50%;width:8px;height:8px;position:absolute;bottom:-2px;right:-2px}.lane-state.busy[data-v-3d57301f]{background:var(--tone-live-dot);animation:1.9s ease-in-out infinite lane-breathe-3d57301f}.lane-state.stopped[data-v-3d57301f]{background:var(--tone-danger-dot)}@keyframes lane-breathe-3d57301f{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.lane-state.busy[data-v-3d57301f]{opacity:.9;animation:none}}.lane-name[data-v-3d57301f]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13.5px;font-weight:700;overflow:hidden}.lane-chip[data-v-3d57301f]{letter-spacing:.04em;color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:0 0;flex:none;padding:0 6px;font-size:9.5px;line-height:15px}.lane-role[data-v-3d57301f]{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-pill);flex:none;padding:0 7px;font-size:9.5px;line-height:16px}.lane-role.lead[data-v-3d57301f]{color:var(--on-accent);background:var(--accent)}.lane-role.worker[data-v-3d57301f]{color:var(--ink-soft);border:1px solid var(--line-strong)}.term-badge[data-v-3d57301f]{font-family:var(--font-mono);color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;align-items:center;gap:4px;padding:0 6px;font-size:9px;line-height:15px;display:inline-flex}.term-badge .term-dot[data-v-3d57301f]{border-radius:50%;width:5px;height:5px}.head-sub[data-v-3d57301f]{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.lane-meta[data-v-3d57301f]{min-width:0;font-size:10.5px;font-family:var(--font-mono);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.lane-progress[data-v-3d57301f]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 10%, transparent);border-radius:var(--radius-pill);align-items:center;margin-left:4px;padding:0 5px;display:inline-flex}.lane-actions[data-v-3d57301f]{background:var(--hover-tint);border-radius:var(--radius-chip);flex:none;align-items:center;gap:5px;padding:2px;display:flex}.lane-actions .ant-btn[data-v-3d57301f]{opacity:.78;font-size:12px;transition:opacity .15s}.lane-head:hover .lane-actions .ant-btn[data-v-3d57301f]{opacity:1}.actions-divider[data-v-3d57301f]{background:color-mix(in srgb, currentColor 16%, transparent);flex:none;width:1px;height:14px;margin-inline:2px}.lane-term[data-v-3d57301f]{padding-inline:7px}.lane-edit[data-v-3d57301f],.lane-remove[data-v-3d57301f],.lane-stop[data-v-3d57301f]{padding-inline:5px}.term-label[data-v-3d57301f]{margin-inline-start:5px;display:none}@container (width>=380px){.term-label[data-v-3d57301f]{display:inline}}@container (width<=300px){.lane-chip[data-v-3d57301f]{display:none}}@container (width<=260px){.term-badge[data-v-3d57301f]{display:none}}.lane-body[data-v-3d57301f]{overscroll-behavior:contain;background:var(--paper);flex:auto;min-height:0;padding:8px 4px 16px;overflow-y:auto}.empty[data-v-3d57301f]{color:var(--ink-faint);text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:6px;padding:32px 12px;font-size:12px;display:flex}.empty-icon[data-v-3d57301f]{color:var(--ink-fainter);font-size:22px}.empty-title[data-v-3d57301f]{color:var(--ink-soft);margin:0;font-size:13px}.empty-hint[data-v-3d57301f]{color:var(--ink-fainter);margin:0;font-size:11px}.member-form[data-v-3d57301f]{margin-top:8px}.mode-switch[data-v-3d57301f]{margin-top:4px}.mode-hint[data-v-3d57301f]{opacity:.6;background:color-mix(in srgb, currentColor 5%, transparent);border-radius:var(--radius-chip);padding:6px 8px;font-size:11px}.board-shell[data-v-22725176]{flex-direction:column;flex:auto;min-height:0;animation:.2s cubic-bezier(.22,1,.36,1) view-in-22725176;display:flex}@keyframes view-in-22725176{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.board-shell[data-v-22725176]{animation:none}}.toolbar[data-v-22725176]{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;padding:10px 16px;display:flex}.count[data-v-22725176]{color:var(--ink-fainter);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.board[data-v-22725176]{overscroll-behavior:contain;flex:auto;align-items:stretch;gap:12px;min-height:0;padding:12px 14px 14px;display:flex;overflow-x:auto}.task-col[data-v-22725176]{background:var(--paper-deep);border-radius:var(--radius-panel);flex-direction:column;flex:0 0 300px;min-width:280px;min-height:0;padding:2px 8px 8px;display:flex}.task-col.drop-over[data-v-22725176]{background:var(--tone-info-bg);outline:2px dashed color-mix(in srgb, var(--tone-info-dot) 65%, transparent);outline-offset:-2px}.task-col.no-drop[data-v-22725176]{opacity:.6}.task-col.drag-origin[data-v-22725176]{opacity:.85}.sec[data-v-22725176]{align-items:center;gap:7px;padding:10px 6px 8px;display:flex}.sec-title[data-v-22725176]{letter-spacing:.06em;color:var(--ink-soft);font-size:12px;font-weight:600}.sec-cnt[data-v-22725176]{font-variant-numeric:tabular-nums;color:var(--ink-fainter);font-size:11px}.st-dot[data-v-22725176]{border-radius:50%;flex:none;width:8px;height:8px}.task-col-body[data-v-22725176]{overscroll-behavior:contain;flex:auto;min-height:0;padding:0 2px;overflow-y:auto}.card.task[data-v-22725176]{cursor:pointer;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);margin-bottom:8px;padding:10px 12px;transition:transform .12s,border-color .12s,opacity .12s;position:relative}.card.task[data-v-22725176]:hover{border-color:var(--line-strong);transform:translateY(-1px)}.card.task.dragging[data-v-22725176]{opacity:.45;cursor:grabbing}.tk-chan[data-v-22725176]{color:var(--ink-faint);gap:8px;font-size:11.5px;display:flex}.tk-num[data-v-22725176]{font-variant-numeric:tabular-nums;color:var(--ink-fainter)}.tk-title[data-v-22725176]{color:var(--ink);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:3px 0 6px;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.tk-route[data-v-22725176]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:11px;overflow:hidden}.tk-foot[data-v-22725176]{justify-content:flex-end;display:flex}.col-empty[data-v-22725176]{color:var(--ink-fainter);text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--radius-panel);padding:14px 8px;font-size:11.5px}.st-pill-btn[data-v-22725176]{cursor:pointer;background:0 0;border:0;padding:0}.st-pill[data-v-22725176]{border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:1px 9px;font-size:11px;font-weight:600;display:inline-flex}.st-pill-btn:hover .st-pill[data-v-22725176]{background:var(--hover-tint)}.task-list[data-v-22725176]{overscroll-behavior:contain;flex:auto;min-height:0;padding:10px 16px 18px;overflow-y:auto}.list-sec[data-v-22725176]{padding:8px 2px 6px}.list-row[data-v-22725176]{cursor:pointer;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);align-items:center;gap:12px;margin-bottom:4px;padding:9px 12px;transition:border-color .12s;display:flex}.list-row[data-v-22725176]:hover{border-color:var(--line-strong)}.list-row .grow[data-v-22725176]{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;overflow:hidden}.lnum[data-v-22725176]{color:var(--ink-faint);font-size:12px}.meta[data-v-22725176]{font-family:var(--font-mono);color:var(--ink-fainter);font-size:11px}.menu-backdrop[data-v-22725176]{z-index:60;position:fixed;inset:0}.st-menu[data-v-22725176]{z-index:61;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-panel-sm);min-width:128px;box-shadow:var(--shadow-float);padding:4px;position:fixed}.st-menu button[data-v-22725176]{width:100%;font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:0;align-items:center;gap:7px;padding:6px 9px;font-size:12.5px;display:flex}.st-menu button[data-v-22725176]:hover{background:var(--paper-deep);color:var(--ink)}.st-menu button.danger[data-v-22725176]{color:var(--tone-danger-dot)}.split[data-v-23486e32]{overscroll-behavior:contain;gap:8px;height:100%;min-height:0;padding:8px;display:flex;overflow-x:auto}.col[data-v-23486e32]{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel-sm);flex-direction:column;flex:none;min-width:300px;display:flex}.col-head[data-v-23486e32]{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.col-name[data-v-23486e32]{font-size:13px;font-weight:700}.col-meta[data-v-23486e32]{font-size:11px;font-family:var(--font-mono);color:var(--ink-faint);text-align:right;flex:auto}.col-body[data-v-23486e32]{overscroll-behavior:contain;min-height:0;font-family:var(--font-mono);flex:auto;font-size:11px;overflow-y:auto}.mini-event[data-v-23486e32]{gap:6px;padding:2px 8px;line-height:1.6;display:flex}.mini-event.clickable[data-v-23486e32]{cursor:pointer}.mini-event.clickable[data-v-23486e32]:hover{background:var(--hover-tint)}.me-time[data-v-23486e32]{color:var(--ink-fainter);flex:none}.me-agent[data-v-23486e32]{color:var(--ink-faint);flex:none}.me-text[data-v-23486e32]{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.col-empty[data-v-23486e32],.empty[data-v-23486e32]{color:var(--ink-faint);text-align:center;padding:24px 8px;font-size:12px}.memory-panel[data-v-25b1b7cc]{font-size:12px}.toolbar[data-v-25b1b7cc]{align-items:center;gap:6px;margin-bottom:6px;display:flex}.agent-select[data-v-25b1b7cc]{flex:auto;min-width:90px}.token-state[data-v-25b1b7cc]{font-family:var(--font-mono);border-radius:var(--radius-chip);background:color-mix(in srgb, currentColor 8%, transparent);flex:none;padding:0 5px;font-size:10px}.token-state[data-ok=true][data-v-25b1b7cc]{color:var(--tone-success-dot)}.token-state[data-ok=false][data-v-25b1b7cc]{color:var(--tone-warning-dot)}.token[data-v-25b1b7cc]{margin-bottom:6px}.search-bar[data-v-25b1b7cc]{gap:6px;margin-bottom:6px;display:flex}.scope[data-v-25b1b7cc]{width:90px}.search-results[data-v-25b1b7cc]{margin-bottom:8px}.hit[data-v-25b1b7cc]{font-family:var(--font-mono);align-items:center;gap:6px;padding:2px 4px;font-size:11px;display:flex}.src[data-v-25b1b7cc]{color:var(--tone-info-dot);background:var(--tone-info-bg);border-radius:var(--radius-chip);padding:0 4px}.src[data-source=shared][data-v-25b1b7cc]{color:var(--tone-retry-dot);background:var(--tone-retry-bg)}.score[data-v-25b1b7cc]{opacity:.5}.hit-title[data-v-25b1b7cc]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-head[data-v-25b1b7cc]{opacity:.7;justify-content:space-between;align-items:center;padding:4px 0;font-weight:600;display:flex}.row[data-v-25b1b7cc]{border-bottom:1px dashed color-mix(in srgb, currentColor 10%, transparent);padding:4px 0}.row-head[data-v-25b1b7cc]{align-items:center;gap:6px;display:flex}.kind[data-v-25b1b7cc]{margin-inline-end:0;font-size:10px}.row-importance[data-v-25b1b7cc]{font-family:var(--font-mono);opacity:.5;font-size:10px}.row-title[data-v-25b1b7cc]{font-size:12px;font-weight:600}.row-content[data-v-25b1b7cc]{opacity:.65;word-break:break-all;font-size:11px}.empty[data-v-25b1b7cc]{opacity:.4;padding:8px 0}.stats[data-v-23e4d795]{flex-direction:column;gap:10px;font-size:12px;display:flex}.kpis[data-v-23e4d795]{gap:8px;display:flex}.kpi[data-v-23e4d795]{text-align:center;border:1px solid color-mix(in srgb, currentColor 10%, transparent);border-radius:var(--radius-panel-sm);flex:1 1 0;padding:8px}.kpi-num[data-v-23e4d795]{font-size:16px;font-weight:700;font-family:var(--font-mono)}.kpi-label[data-v-23e4d795]{opacity:.55;margin-top:2px;font-size:11px}.chart[data-v-23e4d795]{border:1px solid color-mix(in srgb, currentColor 10%, transparent);border-radius:var(--radius-panel-sm);height:140px}.app-chart[data-v-23e4d795]{height:100%}.types-title[data-v-23e4d795]{opacity:.7;padding:4px 0;font-weight:600}.type-row[data-v-23e4d795]{font-family:var(--font-mono);align-items:center;gap:6px;padding:1px 0;font-size:11px;display:flex}.t-name[data-v-23e4d795]{text-overflow:ellipsis;white-space:nowrap;flex:0 0 150px;overflow:hidden}.t-bar-wrap[data-v-23e4d795]{background:color-mix(in srgb, currentColor 8%, transparent);border-radius:var(--radius-pill);flex:auto;height:8px;overflow:hidden}.t-bar[data-v-23e4d795]{background:var(--color-primary);height:100%}.t-n[data-v-23e4d795]{text-align:right;opacity:.6;flex:0 0 36px}.empty[data-v-23e4d795]{opacity:.4;padding:8px 0}.inspector[data-v-ea1bee22]{height:100%;padding:0 8px;overflow-y:auto}.tabs[data-v-ea1bee22]{height:100%}.tabs[data-v-ea1bee22] .ant-tabs-content-holder{overflow-y:auto}.tabs[data-v-ea1bee22] .ant-tabs-nav{margin-bottom:8px}.member[data-v-ea1bee22]{cursor:pointer;align-items:center;gap:9px;margin:3px 0;padding:8px 10px;display:flex}.member[data-v-ea1bee22]:hover{border-color:var(--line-strong)}.dot[data-v-ea1bee22]{border-radius:50%;flex:none;width:8px;height:8px}.member-info[data-v-ea1bee22]{flex:auto;min-width:0}.member-name[data-v-ea1bee22]{align-items:center;gap:7px;font-size:13px;display:flex}.name-text[data-v-ea1bee22]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.role-chip[data-v-ea1bee22]{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-pill);flex:none;padding:0 7px;font-size:9.5px;line-height:16px}.role-chip.lead[data-v-ea1bee22]{color:var(--on-accent);background:var(--accent)}.role-chip.worker[data-v-ea1bee22]{color:var(--ink-soft);border:1px solid var(--line-strong)}.member-meta[data-v-ea1bee22]{font-size:11px;font-family:var(--font-mono);color:var(--ink-faint)}.prog[data-v-ea1bee22]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 10%, transparent);border-radius:var(--radius-pill);padding:0 5px}.member-cap[data-v-ea1bee22]{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-faint);margin-top:2px;font-size:10px}.ct[data-v-ea1bee22]{opacity:.8}.task[data-v-ea1bee22]{cursor:pointer;margin:3px 0;padding:8px 10px}.task[data-v-ea1bee22]:hover{border-color:var(--line-strong)}.task-head[data-v-ea1bee22]{align-items:center;gap:6px;display:flex}.state-chip[data-v-ea1bee22]{letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:0 0;flex:none;padding:1px 7px;font-size:9.5px;line-height:15px}.task-title[data-v-ea1bee22]{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:13px;overflow:hidden}.task-meta[data-v-ea1bee22]{font-size:11px;font-family:var(--font-mono);color:var(--ink-faint)}.empty[data-v-ea1bee22]{color:var(--ink-faint);padding:16px 8px;font-size:12px}.composer[data-v-dced774b]{background:var(--paper-raised);border-top:1px solid var(--line);padding:10px 16px 12px;position:relative;overflow:hidden}.composer-box[data-v-dced774b]{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);max-width:900px;box-shadow:inset 0 1px 0 #ffffff4d, var(--bubble-shadow);transition:border-color var(--transition-slow), box-shadow var(--transition-slow);margin:0 auto;padding:8px 12px;position:relative}.composer-box[data-v-dced774b]:focus-within{border-color:var(--ink-fainter);box-shadow:inset 0 0 0 .5px color-mix(in srgb, var(--ink) 18%, transparent),0 6px 22px #0c0a090d}.composer-status-chip[data-v-dced774b]{width:max-content;max-width:100%;color:var(--ink-faint);background:var(--paper-deep);border-radius:var(--radius-chip);align-items:center;gap:6px;margin:0 0 4px 2px;padding:2px 8px;font-size:11.5px;display:flex}.chip-key[data-v-dced774b]{color:var(--ink-soft);font-weight:600}.chip-target[data-v-dced774b]{color:var(--ink);font-weight:600}.chip-hint[data-v-dced774b]{color:var(--ink-fainter);margin-left:auto;padding-left:8px}.reach-chip[data-v-dced774b]{border-radius:var(--radius-chip);align-items:center;gap:5px;padding:0 6px;font-size:10.5px;display:inline-flex}.reach-chip .reach-dot[data-v-dced774b]{background:currentColor;border-radius:50%;width:5px;height:5px}.reach-chip[data-tone=ok][data-v-dced774b]{color:var(--tone-success-dot);background:color-mix(in srgb, var(--tone-success-dot) 10%, transparent)}.reach-chip[data-tone=info][data-v-dced774b]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 10%, transparent)}.reach-chip[data-tone=warn][data-v-dced774b]{color:var(--tone-warning-dot);background:color-mix(in srgb, var(--tone-warning-dot) 13%, transparent)}.composer-input[data-v-dced774b]{width:100%;min-height:26px;max-height:160px;font-family:var(--font-body);color:var(--ink);resize:none;background:0 0;border:0;outline:none;padding:3px 2px;font-size:13.5px;line-height:1.5;display:block;overflow-y:auto}.composer-input[data-v-dced774b]::placeholder{color:var(--ink-fainter)}.composer-bar[data-v-dced774b]{justify-content:space-between;align-items:center;gap:12px;min-height:30px;margin-top:6px;display:flex}.cb-left[data-v-dced774b]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cb-right[data-v-dced774b]{flex:none;align-items:center;gap:8px;display:flex}.chip-toggle[data-v-dced774b]{font-family:var(--font-body);color:var(--ink-faint);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:5px;padding:3px 10px;font-size:12px;display:inline-flex}.chip-toggle[data-v-dced774b]:hover{color:var(--ink)}.chip-toggle.on[data-v-dced774b]{color:var(--ink);background:var(--paper-deep);border-color:var(--ink);font-weight:600}.send-btn[data-v-dced774b]{width:32px;height:32px;color:var(--on-accent);cursor:pointer;background:var(--accent);border-radius:var(--radius-pill);transition:background var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);border:0;justify-content:center;align-items:center;padding:0;font-size:15px;display:flex}.send-btn[data-v-dced774b]:hover:not(:disabled){background:var(--accent-strong)}.send-btn[data-v-dced774b]:active:not(:disabled){transform:scale(.96)}.send-btn[data-v-dced774b]:disabled{opacity:.3;cursor:default}.loop-number[data-v-dced774b],.loop-number.iterations[data-v-dced774b]{width:104px}.target[data-v-dced774b]{width:138px}.mention-menu[data-v-dced774b]{z-index:20;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-panel);max-height:264px;box-shadow:var(--shadow-float);margin-bottom:8px;position:absolute;bottom:100%;left:12px;right:12px;overflow:auto}.mention-opt[data-v-dced774b]{width:100%;font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:7px 12px;font-size:13px;display:flex}.mention-opt.sel[data-v-dced774b],.mention-opt[data-v-dced774b]:hover{background:var(--paper-deep)}.mention-ava[data-v-dced774b]{width:20px;height:20px;font-size:10px}.mention-name[data-v-dced774b]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;overflow:hidden}.mention-role[data-v-dced774b]{color:var(--ink-fainter);text-transform:uppercase;letter-spacing:.05em;flex:none;font-size:10.5px}.mention-title[data-v-dced774b]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-fainter);padding:5px 12px 4px;font-size:10px;font-weight:600}.mention-state[data-v-dced774b]{background:var(--ink-fainter);opacity:.7;border-radius:50%;flex:none;width:7px;height:7px}.mention-state.busy[data-v-dced774b]{background:var(--tone-live-dot);opacity:1}.drawer-resizer[data-v-857e6de6]{z-index:8;position:absolute;inset:0 auto 0 0}.head[data-v-857e6de6]{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:8px;display:flex}.dot[data-v-857e6de6]{border-radius:50%;width:9px;height:9px}.state-text[data-v-857e6de6]{font-family:var(--font-mono);font-size:12px}.role-chip[data-v-857e6de6]{letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;padding:0 7px;font-size:9.5px;line-height:16px}.queue-meta[data-v-857e6de6]{color:var(--ink-faint);flex:auto;font-size:11px}.current-task[data-v-857e6de6]{color:var(--tone-info-dot);border-bottom:1px dashed var(--divider-hair);padding:6px 0;font-size:12px}.agent-drawer[data-v-857e6de6] .ant-drawer-body{flex-direction:column;padding-bottom:0;display:flex}.drawer-tabs[data-v-857e6de6]{flex-direction:column;flex:auto;min-height:0;display:flex}.drawer-tabs[data-v-857e6de6] .ant-tabs-content-holder{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.stream[data-v-857e6de6]{font-size:12px}.empty[data-v-857e6de6]{color:var(--ink-faint);padding:12px 4px;font-size:12px}.queue-group[data-v-857e6de6]{margin-bottom:10px}.group-title[data-v-857e6de6]{color:var(--ink-soft);padding:4px 0;font-size:12px;font-weight:600}.queue-task[data-v-857e6de6]{border-radius:var(--radius-panel-sm);align-items:center;gap:6px;padding:4px 6px;display:flex}.queue-task[data-v-857e6de6]:hover{background:var(--hover-tint)}.state-chip[data-v-857e6de6]{letter-spacing:.03em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;padding:1px 6px;font-size:9px;line-height:15px}.qt-title[data-v-857e6de6]{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:12px;overflow:hidden}.qt-meta[data-v-857e6de6]{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px}.footer[data-v-857e6de6]{background:var(--paper-raised);border-top:1px solid var(--line);border-radius:0 0 var(--radius-panel) var(--radius-panel);flex:none;margin:8px -24px 0;padding:8px 24px 12px}.member-ops[data-v-857e6de6]{align-items:center;gap:8px;margin-bottom:8px;font-size:11px;display:flex}.op-label[data-v-857e6de6]{color:var(--ink-faint)}.send-ops[data-v-857e6de6]{align-items:center;gap:8px;margin-top:6px;display:flex}.drawer-resizer[data-v-4130ad00]{z-index:8;position:absolute;inset:0 auto 0 0}.head[data-v-4130ad00]{border-bottom:1px solid color-mix(in srgb, currentColor 10%, transparent);align-items:center;gap:8px;padding-bottom:8px;display:flex}.meta[data-v-4130ad00]{font-size:12px;font-family:var(--font-mono);opacity:.6}.spacer[data-v-4130ad00]{flex:auto}.desc[data-v-4130ad00]{margin-top:8px}.failure-reason[data-v-4130ad00]{background:#ff6b6b17;border:1px solid #ff6b6b59;border-radius:8px;align-items:baseline;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.fr-label[data-v-4130ad00]{color:#ff8080;flex:none;font-size:11px;font-weight:700}.fr-text[data-v-4130ad00]{color:var(--tone-danger-dot,#ff8080);white-space:pre-wrap;word-break:break-all;font-size:12px;line-height:1.55}.route-reason[data-v-4130ad00]{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);align-items:baseline;gap:8px;margin-top:6px;padding:8px 10px;font-size:12px;display:flex}.route-label[data-v-4130ad00]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);flex:none;font-size:10px}.route-text[data-v-4130ad00]{color:var(--ink-soft)}.tl-row[data-v-4130ad00]{font-size:12px;font-family:var(--font-mono);align-items:center;gap:8px;padding:3px 0;display:flex}.tl-time[data-v-4130ad00]{opacity:.45}.state[data-v-4130ad00]{margin-inline-end:0;font-size:10px}.tl-progress[data-v-4130ad00]{opacity:.7}.child-row[data-v-4130ad00]{border-radius:var(--radius-chip);align-items:center;gap:6px;padding:4px 6px;display:flex}.child-row[data-v-4130ad00]:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.child-title[data-v-4130ad00]{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:12px;overflow:hidden}.child-meta[data-v-4130ad00]{opacity:.5;font-size:11px}.empty[data-v-4130ad00]{opacity:.4;padding:12px 4px;font-size:12px}.raw[data-v-4130ad00]{max-height:300px;font-size:11px;overflow:auto}.drawer-resizer[data-v-56f080d0]{z-index:8;position:absolute;inset:0 auto 0 0}.dbg[data-v-56f080d0]{flex-direction:column;gap:8px;font-size:12px;display:flex}.row[data-v-56f080d0]{gap:8px;display:flex}.agent[data-v-56f080d0]{flex:55%}.method[data-v-56f080d0]{flex:45%}.params[data-v-56f080d0]{font-family:var(--font-mono)}.ops[data-v-56f080d0]{justify-content:flex-end}.output[data-v-56f080d0]{min-height:240px;font-size:11px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;background:color-mix(in srgb, currentColor 5%, transparent);border-radius:var(--radius-panel-sm);padding:10px;overflow:auto}.palette-mask[data-v-e22e8b91]{z-index:1100;background:var(--scrim,#0c0a0966);justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette[data-v-e22e8b91]{background:var(--glass-bg);width:560px;max-width:92vw;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-highlight), var(--shadow-float);flex-direction:column;display:flex;overflow:hidden}.palette-search[data-v-e22e8b91]{color:var(--ink-faint);border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:13px 16px;display:flex}.ps-icon[data-v-e22e8b91]{flex:none;font-size:15px}.palette-input[data-v-e22e8b91]{min-width:0;font-family:var(--font-body);color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:14px}.palette-input[data-v-e22e8b91]::placeholder{color:var(--ink-fainter)}.palette-list[data-v-e22e8b91]{max-height:320px;padding:6px;overflow-y:auto}.palette-item[data-v-e22e8b91]{width:100%;font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;border-radius:var(--radius-panel-sm);background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.palette-item.selected[data-v-e22e8b91]{color:var(--ink);background:var(--paper-deep)}.pi-label[data-v-e22e8b91]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.pi-hint[data-v-e22e8b91]{font-family:var(--font-mono);color:var(--ink-faint);background:var(--paper-deep);border-radius:var(--radius-pill);flex:none;padding:2px 8px;font-size:10.5px}.palette-item.selected .pi-hint[data-v-e22e8b91]{background:var(--paper-raised)}.palette-empty[data-v-e22e8b91]{color:var(--ink-faint);text-align:center;padding:18px;font-size:13px}.palette-foot[data-v-e22e8b91],.palette-frost[data-v-e22e8b91]{color:var(--ink-faint);border-top:1px solid var(--line);background:var(--frost-bg);align-items:center;gap:8px;padding:9px 16px;font-size:11px;display:flex}.palette-foot kbd[data-v-e22e8b91]{font-family:var(--font-body);color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:1px 5px;font-size:10px}.harness[data-v-f2913902]{height:calc(100dvh - var(--app-header-h,56px) - var(--app-footer-h,46px) - 16px);border:1px solid var(--line);border-radius:var(--radius-shell);background:var(--paper-raised);min-height:0;box-shadow:var(--shadow-card);flex-direction:column;margin:0;display:flex;overflow:hidden}.topbar[data-v-f2913902]{background:var(--paper-raised);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;display:flex}.left[data-v-f2913902],.right[data-v-f2913902]{align-items:center;gap:8px;min-width:0;display:flex}.topbar-mark[data-v-f2913902]{color:var(--ink-faint);font-size:15px}.ws-name[data-v-f2913902]{max-width:260px;font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:400;overflow:hidden}.chan-chip[data-v-f2913902]{max-width:200px;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:3px;padding:1px 10px;font-size:12px;display:inline-flex;overflow:hidden}.chan-hash[data-v-f2913902]{font-family:var(--font-display);color:var(--ink-faint)}.view-switch[data-v-f2913902]{margin-left:8px}.dot[data-v-f2913902]{border-radius:50%;width:8px;height:8px}.ws-state[data-v-f2913902]{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:var(--radius-chip);padding:1px 6px;font-size:10px}.ws-state[data-state=open][data-v-f2913902]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.ws-state[data-state=connecting][data-v-f2913902]{color:var(--tone-warning-dot);border-color:color-mix(in srgb, var(--tone-warning-dot) 45%, transparent)}.ws-state[data-state=closed][data-v-f2913902]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.seq[data-v-f2913902]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:10px}.pane-toggle[data-v-f2913902]{width:26px;height:26px;color:var(--ink-soft);cursor:pointer;border-radius:var(--radius-panel-sm);transition:color var(--transition-fast), background var(--transition-fast), opacity var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.pane-toggle[data-v-f2913902]:hover{color:var(--ink);background:var(--paper-deep)}.pane-toggle.off[data-v-f2913902]{opacity:.4}.pane-toggle.off[data-v-f2913902]:hover{opacity:1}.main[data-v-f2913902]{flex:auto;min-height:0;display:flex}.left-pane[data-v-f2913902]{background:var(--paper);flex-direction:column;flex:none;min-height:0;display:flex;overflow:hidden}.left-scroll[data-v-f2913902]{flex:auto;min-height:0;overflow:hidden auto}.center-pane[data-v-f2913902]{background:var(--paper);flex:auto;min-width:0;max-width:100%;min-height:0;display:flex;overflow:hidden}.center-pane[data-v-f2913902]>*{min-width:0;max-width:100%}.right-pane[data-v-f2913902]{background:var(--paper);flex:none;min-height:0;overflow:hidden}.right-pane.empty[data-v-f2913902]{opacity:.35}.pane-loading[data-v-f2913902]{height:100%;color:var(--ink-faint);justify-content:center;align-items:center;font-size:12px;display:flex}.composer-pane[data-v-f2913902]{flex:none}
@@ -1 +0,0 @@
1
- .page[data-v-c7882fc3]{padding:4px}h1[data-v-c7882fc3]{letter-spacing:-.015em;margin:2px 0 4px;font-size:30px;font-weight:400}.sub[data-v-c7882fc3]{opacity:.6;margin:0;font-size:12.5px}.mono[data-v-c7882fc3]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-c7882fc3]{opacity:.55}.err[data-v-c7882fc3]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-c7882fc3]{padding:10px 12px}.badges[data-v-c7882fc3]{gap:8px;display:flex}.badge[data-v-c7882fc3]{letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 10px;font-size:11px}.badge.bad[data-v-c7882fc3]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-c7882fc3]{color:var(--tone-warning-dot);background:var(--tone-warning-bg);border:1px solid color-mix(in srgb, var(--tone-warning-dot) 40%, transparent);border-radius:var(--radius-chip);align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.infra-banner .txt[data-v-c7882fc3]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-c7882fc3]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-c7882fc3]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-c7882fc3]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-c7882fc3]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-c7882fc3]{color:var(--tone-success-dot)}.ov-item.bad[data-v-c7882fc3]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-c7882fc3]{color:var(--accent)}.ov-row .sep[data-v-c7882fc3]{opacity:.4}.ov-row .reload[data-v-c7882fc3]{margin-left:auto}.zone[data-v-c7882fc3]{margin-bottom:14px;padding:12px 18px 14px;overflow-x:auto}.zone-head[data-v-c7882fc3]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-c7882fc3]{letter-spacing:.01em;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;display:inline-flex}.zone-head h2 .cnt[data-v-c7882fc3]{color:var(--ink-faint);font-size:11px;font-weight:400}.zone-actions[data-v-c7882fc3]{align-items:center;gap:8px;display:flex}.live-dot[data-v-c7882fc3]{background:var(--tone-success-dot);width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb, var(--tone-success-dot) 60%, transparent);border-radius:50%}@media (prefers-reduced-motion:no-preference){.live-dot[data-v-c7882fc3]{animation:1.8s ease-in-out infinite amlPulse-c7882fc3}}@keyframes amlPulse-c7882fc3{50%{opacity:.4}}.tbl[data-v-c7882fc3]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-c7882fc3],.tbl th[data-v-c7882fc3]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-c7882fc3]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.tbl .num[data-v-c7882fc3],.tbl .right[data-v-c7882fc3]{text-align:right}.tbl .acts[data-v-c7882fc3]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-c7882fc3]{margin-left:6px}.row-main[data-v-c7882fc3]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-c7882fc3]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-c7882fc3]{border-bottom-color:#0000}.note-cell[data-v-c7882fc3]{max-width:260px}.note[data-v-c7882fc3]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-c7882fc3]{border:1px solid var(--line);color:var(--ink-faint);border-radius:99px;margin-left:6px;padding:1px 6px;font-size:10px}.kind.agent[data-v-c7882fc3]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-c7882fc3]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-c7882fc3]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-c7882fc3]{grid-template-columns:1fr}}.det-title[data-v-c7882fc3]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:10px 0 6px;font-size:11px;font-weight:600}.det-title[data-v-c7882fc3]:first-child{margin-top:10px}.sub-tbl[data-v-c7882fc3]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-c7882fc3],.sub-tbl th[data-v-c7882fc3]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-c7882fc3]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.sub-tbl .num[data-v-c7882fc3]{text-align:right}.role-chip[data-v-c7882fc3]{font-family:var(--font-mono);background:var(--paper-deep);color:var(--ink-soft);border-radius:5px;padding:1px 6px;font-size:10px}.run-line[data-v-c7882fc3]{margin:4px 0;font-size:11.5px}.run-line b[data-v-c7882fc3]{color:var(--ink)}.drop-line[data-v-c7882fc3]{color:var(--tone-danger-dot);text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:11px;overflow:hidden}.st-pill[data-v-c7882fc3]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:2px 9px;font-size:10.5px;display:inline-block}.st-pill.provisioning[data-v-c7882fc3],.st-pill.queued[data-v-c7882fc3]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-c7882fc3],.st-pill.running[data-v-c7882fc3],.st-pill.training[data-v-c7882fc3]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-c7882fc3],.st-pill.gates_passed[data-v-c7882fc3]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-c7882fc3],.st-pill.gates_failed[data-v-c7882fc3],.st-pill.timeout[data-v-c7882fc3]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-c7882fc3],.st-pill.interrupted[data-v-c7882fc3]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-c7882fc3]{min-width:140px}.prog-cell[data-v-c7882fc3]{white-space:nowrap}.prog[data-v-c7882fc3]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-c7882fc3]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-c7882fc3]{background:var(--tone-success-dot)}.prog i.bad[data-v-c7882fc3]{background:var(--tone-danger-dot)}.prog-num[data-v-c7882fc3]{color:var(--ink-soft);margin-left:7px;font-size:11px}.gate-id[data-v-c7882fc3]{font-weight:700}.gate-detail[data-v-c7882fc3]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-c7882fc3]{border-radius:99px;padding:1px 7px;font-size:10.5px}.verdict.pass[data-v-c7882fc3]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-c7882fc3]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-c7882fc3]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:10px;font-weight:400}.logs[data-v-c7882fc3]{max-height:260px;font-family:var(--font-mono);color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--divider-hair);white-space:pre-wrap;word-break:break-all;border-radius:8px;margin:0;padding:9px 11px;font-size:11px;line-height:1.55;overflow-y:auto}tr.best[data-v-c7882fc3]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-c7882fc3]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-c7882fc3]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:10px}.stage-pill[data-v-c7882fc3]{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-soft);padding:2px 9px;font-size:10.5px;display:inline-block}.stage-pill.shadow[data-v-c7882fc3]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-c7882fc3]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-c7882fc3]{opacity:.55;border-style:dashed}.inp-sel[data-v-c7882fc3]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 10px;font-size:12px}.pc-body[data-v-c7882fc3]{margin-top:4px}.io-grid[data-v-c7882fc3]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-c7882fc3]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-c7882fc3]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-c7882fc3]{grid-template-columns:1fr}}.pc-field[data-v-c7882fc3]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-c7882fc3]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-c7882fc3]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-c7882fc3]{margin-top:auto}.inp[data-v-c7882fc3]{font-family:var(--font-mono);color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:6px 10px;font-size:12px}.inp.area[data-v-c7882fc3]{resize:vertical;line-height:1.5}.inp[data-v-c7882fc3]:focus{border-color:var(--accent);outline:none}.hint[data-v-c7882fc3]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-c7882fc3]{z-index:60;background:color-mix(in srgb, var(--ink) 45%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:flex-start;padding:8vh 16px 16px;display:flex;position:fixed;inset:0}.modal[data-v-c7882fc3]{background:var(--paper);border:1px solid var(--line-strong);border-radius:14px;width:min(760px,100%);max-height:84vh;padding:18px 22px 16px;overflow-y:auto;box-shadow:0 18px 48px #00000040}.m-title[data-v-c7882fc3]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-c7882fc3]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-c7882fc3]{grid-template-columns:1fr}}.f[data-v-c7882fc3]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-c7882fc3]{grid-column:1/-1}.f em[data-v-c7882fc3]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-c7882fc3]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-c7882fc3]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-c7882fc3]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-c7882fc3]{flex:auto}.node-row .sel[data-v-c7882fc3]{flex:0 0 220px}.m-err[data-v-c7882fc3]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-c7882fc3]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-c7882fc3]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}
@@ -1,4 +0,0 @@
1
- import{F as e,et as t,ft as n,z as r}from"./BSCpFtzG.js";import{i,s as a}from"./C3tCneTM.js";import{t as o}from"./DXRZPxGs.js";import{t as s}from"./BcrN7QEl2.js";import{t as c}from"./36oeS8_R2.js";var l=45e3,u=9e4,d=i(`workshop.connection`,{state:()=>({state:`closed`,cursors:{},lastDataAt:0,pendingReplay:!1,lastError:``,retryCount:0})}),f=class{onEvent;onStateChange;onPendingReplay;onDataRecovered;ws=null;retry=0;closedByUser=!1;subscribed=new Set;refCounts=new Map;lastSeqByChannel=new Map;lastFrameAt=0;lastDataAt=0;userToken=``;constructor(e,t,n=()=>{},r=()=>{}){this.onEvent=e,this.onStateChange=t,this.onPendingReplay=n,this.onDataRecovered=r}updateCursor(e,t){Number.isFinite(t)&&this.lastSeqByChannel.set(e,t)}url(){return typeof location>`u`?`ws://localhost/api/workshop/ws`:`${location.protocol===`https:`?`wss`:`ws`}://${location.host}/api/workshop/ws${this.userToken?`?token=${encodeURIComponent(this.userToken)}`:``}`}connect(){if(typeof window>`u`)return;this.onStateChange(`connecting`,this.retry);let e=new WebSocket(this.url());this.ws=e,this.lastFrameAt=Date.now(),this.lastDataAt=Date.now(),e.onopen=()=>{this.retry=0,this.onStateChange(`open`,0);for(let e of this.subscribed)this.sendSub(e,this.lastSeqByChannel.get(e))},e.onmessage=e=>{this.lastFrameAt=Date.now();try{let t=JSON.parse(e.data);t.type!==`pong`&&(this.lastDataAt=Date.now(),this.onDataRecovered()),this.onEvent(t)}catch{}},e.onclose=()=>{if(this.ws=null,this.closedByUser){this.onStateChange(`closed`,0);return}this.onStateChange(`closed`,this.retry),this.subscribed.size>0&&this.onPendingReplay();let e=Math.min(1e3*2**this.retry,1e4);this.retry+=1,setTimeout(()=>{this.closedByUser||this.connect()},e)},e.onerror=()=>{}}checkStale(){let e=this.ws;!e||e.readyState!==WebSocket.OPEN||(Date.now()-this.lastFrameAt>l||Date.now()-this.lastDataAt>u)&&e.close()}sendSub(e,t){let n={type:`sub`,channelId:e,token:this.userToken};typeof t==`number`&&(n.lastSeq=t),this.ws?.send(JSON.stringify(n))}subscribe(e,t){let n=this.refCounts.get(e)??0;this.refCounts.set(e,n+1),!(n>0)&&(this.subscribed.add(e),typeof t==`number`&&this.lastSeqByChannel.set(e,t),this.ws?.readyState===WebSocket.OPEN?this.sendSub(e,this.lastSeqByChannel.get(e)):this.ws||this.connect())}ensureConnected(){typeof window>`u`||this.ws||this.connect()}unsubscribe(e){let t=this.refCounts.get(e)??0;t<=1?(this.refCounts.delete(e),this.subscribed.delete(e),this.ws?.readyState===WebSocket.OPEN&&this.ws?.send(JSON.stringify({type:`unsub`,channelId:e}))):this.refCounts.set(e,t-1)}refCount(e){return this.refCounts.get(e)??0}ping(){try{this.ws?.send(JSON.stringify({type:`ping`}))}catch{try{this.ws?.close()}catch{}}}close(){this.closedByUser=!0,this.ws?.close()}},p=e=>`${e.kind}:${e.id}`,m=i(`workshop.hitl`,{state:()=>({items:[],snapshotLoaded:!1}),getters:{count:e=>e.items.length,byAgent:e=>{let t=new Map;for(let n of e.items){let e=t.get(n.agentId)??[];e.push(n),t.set(n.agentId,e)}return t}},actions:{applyEnvelope(e){if(e.type===`hitl.request`){let t=e.payload,n=p(t),r=this.items.findIndex(e=>p(e)===n);r>=0?this.items[r]=t:this.items.push(t)}else if(e.type===`hitl.resolved`){let t=e.payload;this.items=this.items.filter(e=>p(e)!==p(t))}},async loadSnapshot(){if(typeof window>`u`)return;let e=s().token;if(e)try{let t=await a(`/api/workshop/hitl/pending`,{headers:{authorization:`Bearer ${e}`}});t.code===0&&t.data&&(this.items=t.data.items,this.snapshotLoaded=!0)}catch{}},invalidate(){this.snapshotLoaded=!1},clear(){this.items=[],this.snapshotLoaded=!1}}}),h=/^🔧\s*\S+/,g={read:{icon:`i-tabler-file-search`,kind:`native`},write:{icon:`i-tabler-pencil`,kind:`native`},edit:{icon:`i-tabler-edit`,kind:`native`},bash:{icon:`i-tabler-terminal-2`,kind:`native`},grep:{icon:`i-tabler-search`,kind:`native`},glob:{icon:`i-tabler-folders`,kind:`native`},dispatch_task:{icon:`i-tabler-send`,kind:`host`},reassign_task:{icon:`i-tabler-arrows-exchange`,kind:`host`},update_task:{icon:`i-tabler-pencil-code`,kind:`host`},cancel_task:{icon:`i-tabler-circle-x`,kind:`host`},complete_task:{icon:`i-tabler-circle-check`,kind:`host`},report_progress:{icon:`i-tabler-progress-check`,kind:`host`},send_message_to_agent:{icon:`i-tabler-message`,kind:`host`},poll_messages:{icon:`i-tabler-inbox`,kind:`host`},broadcast_message:{icon:`i-tabler-rss`,kind:`host`},list_team_agents:{icon:`i-tabler-users`,kind:`host`},list_channel_tasks:{icon:`i-tabler-list`,kind:`host`},get_task_details:{icon:`i-tabler-eye`,kind:`host`},get_my_task_queue:{icon:`i-tabler-stack-2`,kind:`host`},get_queue_overview:{icon:`i-tabler-chart-bar`,kind:`host`},search_memory:{icon:`i-tabler-brain`,kind:`host`},save_memory:{icon:`i-tabler-bookmark`,kind:`host`},create_team_agent:{icon:`i-tabler-user-plus`,kind:`host`},update_team_agent:{icon:`i-tabler-user-cog`,kind:`host`},remove_team_agent:{icon:`i-tabler-user-minus`,kind:`host`}},_={tool:{label:`tool`,icon:`i-tabler-tool`},status:{label:`status`,icon:`i-tabler-dots`},life:{label:`state`,icon:`i-tabler-activity`},route:{label:`message`,icon:`i-tabler-route`},stream:{label:`llm`,icon:`i-tabler-message-dots`},task:{label:`task`,icon:`i-tabler-checklist`},artifact:{label:`artifact`,icon:`i-tabler-package`},member:{label:`team`,icon:`i-tabler-users`},memory:{label:`memory`,icon:`i-tabler-bookmark`},error:{label:`error`,icon:`i-tabler-alert-triangle`},other:{label:`event`,icon:`i-tabler-dots`}};function v(e){switch(e.type){case`agent.status.message`:return h.test(String(e.payload.text??``))?`tool`:`status`;case`agent.status`:return`life`;case`a2a.message`:return`route`;case`agent.delta`:case`agent.message`:return`stream`;case`task.status`:case`task.progress`:return`task`;case`a2a.artifact`:return`artifact`;case`agent.member`:return`member`;case`memory.saved`:return`memory`;case`error`:return`error`;default:return`other`}}function y(e){if(!e)return`#6e6e77`;let t=0;for(let n of e)t=(t*31+n.charCodeAt(0))%360;return`hsl(${t}, 42%, 34%)`}var b={silent:0,status:1,attention:2,terminal:3};function x(e){switch(e.type){case`error`:return`attention`;case`a2a.artifact`:case`agent.message`:return`terminal`;case`task.status`:{let t=String(e.payload.state??``);return t===`COMPLETED`||t===`FAILED`||t===`CANCELED`?`terminal`:t===`WAITING`?`attention`:`status`}case`a2a.message`:return(e.payload.metadata??{})[`x-aw-require-reply`]===`true`?`attention`:`status`;case`agent.delta`:case`agent.status.message`:case`task.progress`:case`memory.saved`:return`silent`;default:return`status`}}function S(e){let t=`silent`;for(let n of e){let e=x(n);b[e]>b[t]&&(t=e)}return t}function C(e){return e.replace(/\s+/g,` `).trim()}function w(e){let t=e.events[e.events.length-1];return t?t.type===`agent.delta`&&!e.settled:!1}function T(e){if(e.taskId)return e.taskId;switch(e.type){case`task.status`:case`task.progress`:return String(e.payload.taskId??``)||null;case`a2a.artifact`:return String(e.payload.taskId??``)||null;default:return null}}function E(e,t){return e==null||t==null||e===t}function D(e,t){let n=e.trim(),r=t.trim();return!n||!r?`none`:n===r||C(n)===C(r)?`dup`:r.startsWith(n)?`extend`:`none`}var O=class{arr=[];last=null;tracks=new Map;trail=Object.create(null);idSeq=0;processed=0;headSeq=void 0;get blocks(){return this.arr}get processedCount(){return this.processed}reset(){this.arr.length=0,this.last=null,this.tracks.clear(),this.trail=Object.create(null),this.processed=0,this.headSeq=void 0}sync(e){let t=e.length>0?e[0]?.seq:void 0;(e.length<this.processed||t!==this.headSeq)&&this.reset();for(let t=this.processed;t<e.length;t++)this.push(e[t]);this.processed=e.length,this.headSeq=e.length>0?e[0]?.seq:void 0}push(e){if(e.type===`channel.snapshot`||e.type===`pong`||e.type===`agent.delta`&&!k(e)||(e.type===`agent.status.message`||e.type===`agent.message`)&&!k(e).trim())return this.last;let t=e.agentId??null,r=T(e),i=t??``,a=`${i}\u0000${r??``}`,o=v(e);if(e.type===`agent.status.message`&&o===`status`){let t=k(e).trim(),n=this.tracks.get(a);if(t&&n&&n.text){let r=D(n.text,t);if(r===`dup`||r===`extend`)return this.foldInto(n,e,t)}}if(e.type===`agent.message`){let t=k(e).trim(),n=this.tracks.get(a);if(t&&n&&n.text){let r=D(n.text,t);if(r===`dup`||r===`extend`)return this.foldInto(n,e,t)}}let s=o;if(e.type===`agent.delta`)s=`stream`;else if(e.type===`agent.message`)s=`stream`;else if(o===`status`){let t=this.last;t!==null&&t.kind===`stream`&&e.agentId===t.agentId&&E(t.taskId,r)&&!t.settled&&(s=`stream`)}if(this.last!==null&&this.last.kind===s&&this.last.agentId===e.agentId&&t!==null&&E(this.last.taskId,r)&&!(s===`stream`&&this.last.settled)&&!(s===`task`&&this.last.taskId&&r&&this.last.taskId!==r)&&!(s===`artifact`&&this.last.taskId&&r&&this.last.taskId!==r)&&this.last){let t=this.last;if(t.events.push(e),t.lastAt=e.at,s===`stream`){if(e.type===`agent.delta`){t.settled=!1;let n=this.tracks.get(a);n?(n.text+=k(e),n.last=t,this.setTrail(i,r,n.text)):(t.settled=!1,this.setTrail(i,r,k(e)))}else t.settled=!0,this.setTrail(i,r,`${k(e)}`)}return t}let c=n({id:`b${++this.idSeq}`,kind:s,agentId:t,taskId:r,events:[e],firstAt:e.at,lastAt:e.at,settled:s===`stream`&&e.type!==`agent.delta`,folded:0,overrideText:null,coveredBy:null,dupStream:!1});if(this.arr.push(c),this.last=c,s===`stream`){let t=this.tracks.get(a);if(t&&t.pieces.length>0&&!t.pieces.includes(c)?(t.pieces.push(c),t.last=c):t||this.tracks.set(a,{text:``,pieces:[c],last:c}),e.type===`agent.delta`){let t=this.tracks.get(a);t&&(t.text+=k(e),this.setTrail(i,r,t.text))}}if(s===`artifact`){let t=k(e),n=this.trail[a]??this.trail[`${i}\u0000`];n&&t&&C(n)===C(t)&&(c.dupStream=!0)}return c}foldInto(e,t,n){let r=e.last;r.events.push(t),r.folded+=1,r.lastAt=t.at,r.settled=!0,r.overrideText=n;for(let t of e.pieces)t!==r&&(t.coveredBy=r.id);return e.text=``,e.pieces=[r],e.last=r,this.setTrail(r.agentId??``,r.taskId,n),r}setTrail(e,t,n){this.trail[`${e}\u0000${t??``}`]=n}};function k(e){switch(e.type){case`agent.delta`:return String(e.payload.delta??``);case`agent.status.message`:return String(e.payload.text??``);case`agent.message`:case`a2a.message`:return(e.payload.parts??[]).map(e=>e.text??``).join(`
2
- `);case`a2a.artifact`:return(e.payload.artifact?.parts??[]).map(e=>e.text??``).join(`
3
- `);default:return``}}function A(e){if(e.overrideText)return e.overrideText;let t=``;for(let n of e.events){if(n.type===`agent.delta`){t+=k(n);continue}if(n.type!==`agent.status.message`&&n.type===`agent.message`){let e=k(n).trim();e&&(t=`${t?`${t}\n`:``}${e}`);continue}}return t}function j(e,t,n){return e>0&&(n||t<e)}function M(e){return e.replace(/[&<>"']/g,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})[e]??e)}function N(e){return e.replace(/`([^`\n]+)`/g,`<code>$1</code>`).replace(/\*\*([^*\n]+)\*\*/g,`<b>$1</b>`).replace(/(^|\s)\*([^*\n]+)\*(?=\s|$)/g,`$1<i>$2</i>`)}var P={note:{label:`说明`,icon:`i-tabler-info-circle`},tip:{label:`提示`,icon:`i-tabler-bulb`},important:{label:`重要`,icon:`i-tabler-flag`},warning:{label:`警告`,icon:`i-tabler-alert-triangle`},caution:{label:`注意`,icon:`i-tabler-shield-half`}};function F(e){let t=[];return M(e).replace(/```([\w+-]*)\n?([\s\S]*?)(?:```|$)/g,(e,n,r)=>{let i=t.length;return t.push(`<div class="code-block" data-lang="${n||`text`}"><div class="code-head"><span class="code-lang">${n||`text`}</span><button type="button" class="code-copy">复制</button></div><pre><code>${r.replace(/\n$/,``)}</code></pre></div>`),`@@AWCODE${i}@@`}).split(/\n{2,}/).map(e=>{let t=e.split(`
4
- `);if(/^### /.test(e))return`<h5>${N(e.slice(4))}</h5>`;if(/^## /.test(e))return`<h4>${N(e.slice(3))}</h4>`;if(/^# /.test(e))return`<h4>${N(e.slice(2))}</h4>`;if(t.every(e=>/^\s*[-*] /.test(e)))return t.some(e=>/^\s*[-*] \[[ xX]\] /.test(e))?`<ul class="task-list">${t.map(e=>{let t=/^\s*[-*] \[([ xX])\] (.*)$/.exec(e),n=(t[1]??` `).toLowerCase()===`x`;return`<li class="task-item${n?` done`:``}"><span class="task-check${n?` on`:``}">${n?`✓`:``}</span><span class="task-text">${N(t[2]??``)}</span></li>`}).join(``)}</ul>`:`<ul>${t.map(e=>`<li>${N(e.replace(/^\s*[-*] /,``))}</li>`).join(``)}</ul>`;if(t.every(e=>/^&gt;\s?/.test(e))){let e=/^&gt;\s*\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*(.*)$/.exec(t[0]??``);if(e){let n=P[e[1].toLowerCase()],r=e[2]??``,i=[...r?[r]:[],...t.slice(1).map(e=>e.replace(/^&gt;\s?/,``))];return`<div class="gh-alert gh-${e[1].toLowerCase()}"><div class="gh-title"><span class="${n.icon}"></span>${n.label}</div><p>${i.map(e=>N(e)).join(`<br>`)}</p></div>`}return`<blockquote>${t.map(e=>N(e.replace(/^&gt;\s?/,``))).join(`<br>`)}</blockquote>`}return t.length===1&&/^@@AWCODE\d+@@$/.test(e)?e:`<p>${t.map(e=>N(e)).join(`<br>`)}</p>`}).join(``).replace(/@@AWCODE(\d+)@@/g,(e,n)=>t[Number(n)]??``)}function I(e){let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`(^|(?<![\\w@]))@(${t})(?=$|[\\s,.;:!?、,。;:!?…)\\]】」』])`,`gu`)}function L(e,t){let n=[];if(t.length===0)return{text:e,hits:n};let r=[...t].sort((e,t)=>t.name.length-e.name.length),i=e;for(let e of r)e.name&&(i=i.replace(I(e.name),(t,r,i)=>(n.push(e),`\uE000M${n.length-1}\uE000`)));return{text:i,hits:n}}function R(e,t){return e.replace(/\uE000M(\d+)\uE000/g,(e,n)=>{let r=t[Number(n)];return r?`<span class="md-mention" data-agent-id="${M(r.agentId)}">@${M(r.name)}</span>`:``})}function z(e,t){let{text:n,hits:r}=L(e,t);return R(F(n),r)}var B=5e3,V=[`agent.delta`],H={all:null,messages:[`agent.message`,`agent.delta`,`agent.status.message`,`a2a.message`],tasks:[`task.status`,`task.progress`,`a2a.artifact`],team:[`agent.member`,`task.status`],errors:[`error`],key:null};function U(e,t,n,r){return e.filter(e=>{if(e.type===`channel.snapshot`)return!1;if(t===`key`){let t=x(e);return t===`attention`||t===`terminal`}return n&&!n.includes(e.type)?!1:r&&e.type!==`task.status`&&e.type!==`task.progress`?e.agentId===r||e.type===`a2a.message`&&e.payload.metadata?.[`x-aw-target-agent`]===r:!0})}var W=new Map,G=()=>({lastSeq:0,items:[],consumed:new Set});function K(e,t,n){let r=0;for(let i of t)typeof i.seq!=`number`||i.seq>n||e.consumed.has(i.seq)||(e.items.push(i),e.consumed.add(i.seq),r+=1);return r>0&&(e.items.sort((e,t)=>e.seq-t.seq),e.items.length>B&&e.items.splice(0,e.items.length-B)),r}var q=i(`workshop.events`,{state:()=>({rings:{},filters:{},focusAgents:{},laneLoaded:{}}),getters:{ring(e){return t=>e.rings[t]??G()},timeline(e){return t=>{let n=e.rings[t];if(!n)return[];let r=e.filters[t]??`all`,i=e.focusAgents[t]??null,a=`${r}:${i??``}:${n.lastSeq}:${n.items.length}`,o=W.get(t);if(o&&o.key===a)return o.result;let s=U(n.items,r,H[r],i);return W.set(t,{key:a,result:s}),s}},lastSeq(e){return t=>e.rings[t]?.lastSeq??0}},actions:{ingest(e){if(!e.channelId)return;let t=this.rings[e.channelId]??G();if(e.type===`channel.snapshot`){this.rings[e.channelId]={lastSeq:e.seq,items:[],consumed:new Set([e.seq])};return}if(typeof e.seq==`number`&&e.seq>t.lastSeq){if(t.consumed.add(e.seq),e.type===`agent.delta`){let n=t.items[t.items.length-1];if(n&&n.type===`agent.delta`&&n.agentId===e.agentId&&(n.taskId??null)===(e.taskId??null)&&n){let r=n.payload.delta;n.payload.delta=r+e.payload.delta,t.lastSeq=e.seq,this.rings[e.channelId]=t;return}}t.items.push(e),t.items.length>B&&t.items.splice(0,t.items.length-B),t.lastSeq=e.seq,t.consumed.size>2e4&&(t.consumed=new Set(t.items.map(e=>e.seq))),this.rings[e.channelId]=t}},setFilter(e,t){this.filters[e]=t},async loadHistory(e,t=200){if(typeof window>`u`)return;let n=this.rings[e]??G();try{let r=await a(`/api/workshop/channels/${e}/events`,{params:{limit:t,excludeTypes:V.join(`,`)},headers:{authorization:`Bearer ${s().token}`}});if(r.code!==0||!r.data?.items?.length)return;K(n,r.data.items,n.lastSeq),this.rings[e]=n}catch{}},async loadEarlier(e,t=200){if(typeof window>`u`)return!1;let n=this.rings[e];if(!n)return!1;let r=n.items.length>0?n.items[0]?.seq??0:n.lastSeq;if(r<=1)return!1;try{let i=await a(`/api/workshop/channels/${e}/events`,{params:{limit:t,beforeSeq:Math.max(1,r-1),excludeTypes:V.join(`,`)},headers:{authorization:`Bearer ${s().token}`}});if(i.code!==0||!i.data?.items?.length)return!1;let o=K(n,i.data.items,n.lastSeq);return o>0&&(this.rings[e]=n),o>0&&i.data.items.length>=t}catch{return!1}},async loadLaneHistory(e,t,n=200){if(typeof window>`u`||this.laneLoaded[e]?.has(t))return;(this.laneLoaded[e]??=new Set).add(t);for(let t=0;t<20&&this.lastSeq(e)===0;t++)await new Promise(e=>setTimeout(e,150));if(this.lastSeq(e)===0){this.laneLoaded[e]?.delete(t);return}let r=this.rings[e];try{let i=await a(`/api/workshop/channels/${e}/events`,{params:{limit:n,agentId:t,excludeTypes:V.join(`,`)},headers:{authorization:`Bearer ${s().token}`}});i.code===0&&i.data?.items?.length&&(K(r,i.data.items,r.lastSeq),this.rings[e]=r)}catch{this.laneLoaded[e]?.delete(t)}},async loadLaneEarlier(e,t,n=200){if(typeof window>`u`)return!1;let r=this.rings[e];if(!r)return!1;let i=0;for(let e of r.items)if(e.agentId===t){i=e.seq;break}if(i<=1)return!1;try{let o=await a(`/api/workshop/channels/${e}/events`,{params:{limit:n,agentId:t,beforeSeq:i-1,excludeTypes:V.join(`,`)},headers:{authorization:`Bearer ${s().token}`}});if(o.code!==0||!o.data?.items?.length)return!1;let c=K(r,o.data.items,r.lastSeq);return c>0&&(this.rings[e]=r),c>0&&o.data.items.length>=n}catch{return!1}},setFocusAgent(e,t){this.focusAgents[e]=t},clear(e){Reflect.deleteProperty(this.rings,e),Reflect.deleteProperty(this.laneLoaded,e)}}}),J=i(`workshop.entities`,{state:()=>({channels:{},agents:{},tasks:{},refreshing:{},refreshingAgents:{}}),getters:{agentById(e){return(t,n)=>e.agents[t]?.find(e=>e.agentId===n)},agentName(e){return(t,n)=>n?e.agents[t]?.find(e=>e.agentId===n)?.name??n.slice(0,8):`system`},taskTitle(e){return(t,n)=>n?e.tasks[t]?.find(e=>e.id===n)?.title??n.slice(0,8):``},rootTasks(e){return t=>(e.tasks[t]??[]).filter(e=>!e.parentId)},taskById(e){return(t,n)=>e.tasks[t]?.find(e=>e.id===n)},busyCount(e){return t=>(e.agents[t]??[]).filter(e=>e.state===`busy`).length}},actions:{applySnapshot(e){let{channelId:t}=e;this.channels[t]={...e.channel,loadedAt:Date.now()},this.agents[t]=e.agents.map(e=>({...e,modelRef:e.config?.modelRef??e.modelRef??null})),this.tasks[t]=e.tasks.map(e=>this.toTaskView(e))},applyEvent(e){let t=e.channelId;switch(e.type){case`agent.status`:{let n=this.agents[t]??[],r=e.payload,i={agentId:r.agentId,state:r.state,currentTaskId:r.currentTaskId??null,currentTaskTitle:r.currentTaskTitle??null,currentTaskProgress:r.currentTaskProgress??null,queued:r.queued??r.queuedCount??0,completed:r.completed??r.completedCount??0},a=n.findIndex(e=>e.agentId===i.agentId);if(a>=0)n[a]={...n[a],...i};else{let e={agentId:i.agentId,state:i.state,currentTaskId:i.currentTaskId??null,queued:i.queued,completed:i.completed,name:i.agentId.slice(0,8),role:`worker`,harness:`-`};n.push(e),this.refreshAgents(t)}this.agents[t]=[...n];break}case`agent.member`:{let n=e.payload,r=this.agents[t]??[],i=r.findIndex(e=>e.agentId===n.agentId);if(n.op===`added`)i<0&&r.push({agentId:n.agentId,name:n.name,role:n.role,harness:n.harness,enabled:n.enabled,config:n.config,modelRef:n.config?.modelRef??null,state:`idle`,currentTaskId:null,queued:0,completed:0});else if(n.op===`updated`){if(i>=0){let e=r[i],t=n.config??e.config;r[i]={...e,name:n.name??e.name,role:n.role??e.role,harness:n.harness??e.harness,enabled:n.enabled??e.enabled,config:t,modelRef:t?.modelRef??e.modelRef??null}}}else n.op===`removed`&&i>=0&&r.splice(i,1);this.agents[t]=[...r];break}case`task.status`:{let n=e.payload,r=this.tasks[t]??[],i=r.findIndex(e=>e.id===n.taskId);if(i>=0){let e=r[i];r[i]={...e,state:n.state,assigneeId:n.assigneeId??e.assigneeId,title:n.title??e.title,parentId:n.parentId??e.parentId,progress:Math.max(e.progress,n.progress??0),routeReason:n.routeReason??e.routeReason,createdAt:n.createdAt??e.createdAt,artifacts:Math.max(e.artifacts,n.artifacts??0)}}else{let e={id:n.taskId,title:n.title??n.taskId.slice(0,8),state:n.state,progress:n.progress??0,assigneeId:n.assigneeId??``,artifacts:n.artifacts??0};n.parentId&&(e.parentId=n.parentId),n.routeReason&&(e.routeReason=n.routeReason),n.createdAt&&(e.createdAt=n.createdAt),r.push(e),n.title===void 0&&this.refreshTasks(t)}this.tasks[t]=[...r];break}case`task.progress`:{let n=e.payload,r=this.tasks[t]??[],i=r.findIndex(e=>e.id===n.taskId),a=i>=0?r[i]:void 0;a&&(r[i]={...a,progress:n.progress}),this.tasks[t]=[...r];break}case`a2a.artifact`:{let n=e.payload;if(!n.taskId)break;let r=this.tasks[t]??[],i=r.findIndex(e=>e.id===n.taskId),a=i>=0?r[i]:void 0;a&&(r[i]={...a,artifacts:a.artifacts+1}),this.tasks[t]=[...r];break}}},toTaskView(e){return{id:e.id,parentId:e.parentId,title:e.title,state:e.state,progress:e.progress,assigneeId:e.assigneeId,artifacts:e.artifacts.length,updatedAt:e.updatedAt}},refreshChannel(e,t){this.applySnapshot(t)},refreshAgents(e){this.refreshingAgents[e]||(this.refreshingAgents[e]=!0,a(`/api/workshop/channels/${e}/agents`,{headers:{authorization:`Bearer ${s().token}`}}).then(t=>{let n=t.data??[],r=[...this.agents[e]??[]];for(let e of n){let t=r.findIndex(t=>t.agentId===e.id);t>=0?r[t]={...r[t],name:e.name,role:e.role,harness:e.harness,config:e.config}:r.push({agentId:e.id,name:e.name,role:e.role,harness:e.harness,config:e.config,state:`idle`,currentTaskId:null,queued:0,completed:0})}this.agents[e]=r}).catch(()=>{}).finally(()=>{this.refreshingAgents[e]=!1}))},refreshTasks(e){this.refreshing[e]||(this.refreshing[e]=!0,a(`/api/workshop/channels/${e}/tasks`,{headers:{authorization:`Bearer ${s().token}`}}).then(t=>{let n=t.data??[],r=this.tasks[e]??[],i=new Map(r.map(e=>[e.id,e])),a=new Set(n.map(e=>e.id)),o=n.map(e=>{let t=i.get(e.id),n=this.toTaskView(e);return t&&t.progress>n.progress?{...n,progress:t.progress}:n});for(let e of r)a.has(e.id)||o.push(e);this.tasks[e]=o}).catch(()=>{}).finally(()=>{this.refreshing[e]=!1}))}}}),Y=null,X=0;function Z(){let n=d(),i=s(),a=q(),l=J(),u=m(),p=c(),h=globalThis.__workshopWs??null,g=new Map;if(!h){let e=new f(t=>{if(t.channelId&&typeof t.seq==`number`&&t.seq>0&&t.type!==`channel.snapshot`){let e=g.get(t.channelId)??0;if(t.seq<=e)return;g.set(t.channelId,t.seq),n.pendingReplay&&=!1}t.type===`channel.snapshot`&&t.channelId?(g.set(t.channelId,typeof t.seq==`number`?t.seq:0),n.pendingReplay=!1,a.ingest(t),l.applyEvent(t),l.applySnapshot(t.payload),a.loadHistory(t.channelId)):(a.ingest(t),l.applyEvent(t)),(t.type===`hitl.request`||t.type===`hitl.resolved`)&&u.applyEnvelope(t),typeof t.seq==`number`&&t.seq>0&&t.channelId&&(n.cursors[t.channelId]=t.seq,e.updateCursor(t.channelId,t.seq)),p.emit(t)},(e,t)=>{n.state=e,n.retryCount=t},()=>{n.pendingReplay=!0},()=>{n.lastDataAt=Date.now()});h=e,globalThis.__workshopWs=h}return t(()=>i.token,e=>{h instanceof f&&(h.userToken=e)},{immediate:!0}),r(()=>{X++,!Y&&(Y=o(()=>{h?.ping(),h?.checkStale()},15e3))}),e(()=>{--X<=0&&Y&&(clearInterval(Y),Y=null)}),{subscribe:e=>{let t=a.lastSeq(e);h?.subscribe(e,t>0?t:void 0)},unsubscribe:e=>{h&&(h.unsubscribe(e),h.refCount(e)===0&&a.clear(e))},ensureConnected:()=>{h?.ensureConnected()},conn:n}}export{_ as a,S as c,z as d,j as f,O as i,A as l,d as m,J as n,g as o,m as p,q as r,y as s,Z as t,w as u};
@@ -1 +0,0 @@
1
- {"id":"adc365b6-f636-4a2b-9527-79819c1e874b","timestamp":1789131737281,"prerendered":[]}