agentworkshop 0.7.44 → 0.7.47
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.
- package/.AgentWorkShop/prompts/host-tools.json +265 -6
- package/.AgentWorkShop/prompts/lead-supervise.md +54 -29
- package/.AgentWorkShop/prompts/peer-reply-optional.md +6 -2
- package/.AgentWorkShop/prompts/peer-reply-required.md +8 -7
- package/.output/.AgentWorkShop/aml-python/__pycache__/amlkit.cpython-312.pyc +0 -0
- package/.output/.AgentWorkShop/aml-python/amlkit.py +185 -120
- package/.output/.AgentWorkShop/aml-python/requirements.txt +9 -7
- package/.output/.AgentWorkShop/aml-python/train-hybrid-example.py +87 -0
- package/.output/.AgentWorkShop/prompts/host-tools.json +265 -6
- package/.output/.AgentWorkShop/prompts/lead-supervise.md +54 -29
- package/.output/.AgentWorkShop/prompts/peer-reply-optional.md +6 -2
- package/.output/.AgentWorkShop/prompts/peer-reply-required.md +8 -7
- package/.output/.AgentWorkShop/schema.json +12 -0
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/-hB4kEmt.js +1 -0
- package/.output/public/_nuxt/1g9IT9Qh2.js +1 -0
- package/.output/public/_nuxt/74x7BOWv2.js +1 -0
- package/.output/public/_nuxt/9c5GOgbu.js +1 -0
- package/.output/public/_nuxt/9zrLAN2o2.js +1 -0
- package/.output/public/_nuxt/B1RT9NTO2.js +1 -0
- package/.output/public/_nuxt/B2x8SKRO.js +1 -0
- package/.output/public/_nuxt/B6Olw0Op.js +1 -0
- package/.output/public/_nuxt/B7jlMWsz.js +1 -0
- package/.output/public/_nuxt/B8cnjDtt.js +1 -0
- package/.output/public/_nuxt/B9rIcCX12.js +1 -0
- package/.output/public/_nuxt/BACBBVdw.js +1 -0
- package/.output/public/_nuxt/BBhLVYdM.js +1 -0
- package/.output/public/_nuxt/BDmNbZ252.js +1 -0
- package/.output/public/_nuxt/BFVf8HLR.js +1 -0
- package/.output/public/_nuxt/BGKUW7ra.js +1 -0
- package/.output/public/_nuxt/BH3obZJ42.js +1 -0
- package/.output/public/_nuxt/BHwG4yNs.js +1 -0
- package/.output/public/_nuxt/BIOq3xqe2.js +1 -0
- package/.output/public/_nuxt/BITZvQBK.js +1 -0
- package/.output/public/_nuxt/BL_dbd2v2.js +1 -0
- package/.output/public/_nuxt/BMMoqi94.js +1 -0
- package/.output/public/_nuxt/BNnnYEYh2.js +1 -0
- package/.output/public/_nuxt/BQXCMsXk.js +1 -0
- package/.output/public/_nuxt/BS9P_Ies2.js +1 -0
- package/.output/public/_nuxt/BWU1pvLL.js +1 -0
- package/.output/public/_nuxt/B_9_BM9G.js +3 -0
- package/.output/public/_nuxt/B_LcD7qE2.js +1 -0
- package/.output/public/_nuxt/BcQXL8pb.js +1 -0
- package/.output/public/_nuxt/BdM_Qr752.js +1 -0
- package/.output/public/_nuxt/BiOSWsjD.js +2 -0
- package/.output/public/_nuxt/BkSViqQd.js +1 -0
- package/.output/public/_nuxt/Bl5dYv4m.js +1 -0
- package/.output/public/_nuxt/BmiMC_BC.js +2 -0
- package/.output/public/_nuxt/BnpY_zNx.js +1 -0
- package/.output/public/_nuxt/BqYVLAcm.js +1 -0
- package/.output/public/_nuxt/Br3AySNQ.js +1 -0
- package/.output/public/_nuxt/Br3MggOL.js +1 -0
- package/.output/public/_nuxt/BrRX-l9B2.js +4108 -0
- package/.output/public/_nuxt/Bt2ZL5332.js +1 -0
- package/.output/public/_nuxt/Bub2P5me.js +28 -0
- package/.output/public/_nuxt/BvRk9kiK.js +0 -0
- package/.output/public/_nuxt/BvRk9kiK2.js +0 -0
- package/.output/public/_nuxt/Bwc6lt2X.js +3 -0
- package/.output/public/_nuxt/BxHBIVAg.js +1 -0
- package/.output/public/_nuxt/BxYTM0hb.js +1 -0
- package/.output/public/_nuxt/ByMj6e7s.js +3 -0
- package/.output/public/_nuxt/BzvHUfRR2.js +1 -0
- package/.output/public/_nuxt/C2YYOgMe.js +42 -0
- package/.output/public/_nuxt/C3twEwTh2.js +1 -0
- package/.output/public/_nuxt/C4WhK2wq.js +1 -0
- package/.output/public/_nuxt/C50LmoI1.js +0 -0
- package/.output/public/_nuxt/CAaSPBqk.js +1 -0
- package/.output/public/_nuxt/CBDX7p73.js +1 -0
- package/.output/public/_nuxt/CD9lpEz22.js +13 -0
- package/.output/public/_nuxt/CGZVhYJ4.js +1 -0
- package/.output/public/_nuxt/CJRDL4EG.js +1 -0
- package/.output/public/_nuxt/CKQPwwZa2.js +1 -0
- package/.output/public/_nuxt/CLySL7mW.js +75 -0
- package/.output/public/_nuxt/CMXcOb6W.js +1 -0
- package/.output/public/_nuxt/CN1CDAwe.js +1 -0
- package/.output/public/_nuxt/CP0I2l-6.js +1 -0
- package/.output/public/_nuxt/CP0Nep9S.js +1 -0
- package/.output/public/_nuxt/CPeZNE4S2.js +1 -0
- package/.output/public/_nuxt/CPmNRTBk2.js +21 -0
- package/.output/public/_nuxt/CQabB0oy.js +1 -0
- package/.output/public/_nuxt/CT-vTjcG.js +1 -0
- package/.output/public/_nuxt/CTVfcnjU.js +3 -0
- package/.output/public/_nuxt/CWzp2R6G.js +1 -0
- package/.output/public/_nuxt/C_VAXV7I2.js +7 -0
- package/.output/public/_nuxt/CavpkQb0.js +1 -0
- package/.output/public/_nuxt/CeWnOF3O.js +1 -0
- package/.output/public/_nuxt/CfLUvgr32.js +1 -0
- package/.output/public/_nuxt/Ch1P2mIf.js +1 -0
- package/.output/public/_nuxt/ChoLwR-s.js +1 -0
- package/.output/public/_nuxt/Chphw5IA2.js +1 -0
- package/.output/public/_nuxt/ChtjzEpK2.js +19 -0
- package/.output/public/_nuxt/CiTQY_n32.js +1 -0
- package/.output/public/_nuxt/Ck5oMvUk.js +1 -0
- package/.output/public/_nuxt/Ckafrjnw2.js +1 -0
- package/.output/public/_nuxt/Cm_PTn9t2.js +1 -0
- package/.output/public/_nuxt/Cmp8PMrA.js +1 -0
- package/.output/public/_nuxt/Cnrmlixo.js +3 -0
- package/.output/public/_nuxt/Cr518Gh02.js +1 -0
- package/.output/public/_nuxt/Crbir9cT.js +1 -0
- package/.output/public/_nuxt/CtPNnATm2.js +31 -0
- package/.output/public/_nuxt/Cu8c3oMN2.js +1 -0
- package/.output/public/_nuxt/CwLQAKay2.js +1 -0
- package/.output/public/_nuxt/CzlUIbK32.js +17 -0
- package/.output/public/_nuxt/D6lZftfy.js +1 -0
- package/.output/public/_nuxt/D83nVQPl.js +1 -0
- package/.output/public/_nuxt/D89BUtx6.js +1 -0
- package/.output/public/_nuxt/DCtk3qqr.js +1 -0
- package/.output/public/_nuxt/DD6Z0yPN2.js +1 -0
- package/.output/public/_nuxt/DGw8juu_.js +2 -0
- package/.output/public/_nuxt/DHSDk8Bq2.js +4 -0
- package/.output/public/_nuxt/DJdDFnjG2.js +1 -0
- package/.output/public/_nuxt/DJyNDnag.js +1 -0
- package/.output/public/_nuxt/DK3Fl9T5.js +1 -0
- package/.output/public/_nuxt/DLPuRMeG.js +19 -0
- package/.output/public/_nuxt/DMYYS5sK.js +1 -0
- package/.output/public/_nuxt/DNno23Jf2.js +1 -0
- package/.output/public/_nuxt/DNoEoo8t.js +1 -0
- package/.output/public/_nuxt/DPUXbTg92.js +1 -0
- package/.output/public/_nuxt/DRpFsrno.js +1 -0
- package/.output/public/_nuxt/DXIaadqv.js +1 -0
- package/.output/public/_nuxt/D_7AzAWe.js +1 -0
- package/.output/public/_nuxt/Dbe9TFc9.js +1 -0
- package/.output/public/_nuxt/DdNujZN5.js +1 -0
- package/.output/public/_nuxt/DdvQ7LRI.js +14 -0
- package/.output/public/_nuxt/DhFv8S2Z.js +1 -0
- package/.output/public/_nuxt/DkJVtqfc.js +1 -0
- package/.output/public/_nuxt/DkLCjrCk2.js +47 -0
- package/.output/public/_nuxt/DkpmSnHX.js +1 -0
- package/.output/public/_nuxt/DlUQa0wn2.js +1 -0
- package/.output/public/_nuxt/DoKpLEqc.js +1 -0
- package/.output/public/_nuxt/DpqA8D8_.js +1 -0
- package/.output/public/_nuxt/Dq0emNZi2.js +1 -0
- package/.output/public/_nuxt/DqtgGFEc.js +1 -0
- package/.output/public/_nuxt/DqtnqNgL2.js +1 -0
- package/.output/public/_nuxt/Dqz5HiXa.js +2 -0
- package/.output/public/_nuxt/DxagrjB8.js +1 -0
- package/.output/public/_nuxt/Dy3oXKdn2.js +1 -0
- package/.output/public/_nuxt/DzBbYWrw2.js +1 -0
- package/.output/public/_nuxt/EhhQmlBV2.js +1 -0
- package/.output/public/_nuxt/H2rNs1O82.js +1 -0
- package/.output/public/_nuxt/H6pPjo0l.js +1 -0
- package/.output/public/_nuxt/JAM4aNC_.js +1 -0
- package/.output/public/_nuxt/JgheoP3e.js +1 -0
- package/.output/public/_nuxt/LwIFGLgF.js +1 -0
- package/.output/public/_nuxt/Nw_6OpQZ2.js +1 -0
- package/.output/public/_nuxt/OXtV_ukR.js +1 -0
- package/.output/public/_nuxt/OmpTerminalPanel.ComMDrA8.css +1 -0
- package/.output/public/_nuxt/PLGqdko0.js +1 -0
- package/.output/public/_nuxt/PixDfCSm.js +1 -0
- package/.output/public/_nuxt/RAqsw632.js +1 -0
- package/.output/public/_nuxt/Sjjmp5OD2.js +1 -0
- package/.output/public/_nuxt/TOWR4WpO.js +1 -0
- package/.output/public/_nuxt/TownView.BvlfuLtP.css +1 -0
- package/.output/public/_nuxt/U8oQxruK.js +1 -0
- package/.output/public/_nuxt/WleoCtUX.js +1 -0
- package/.output/public/_nuxt/YaroNkJZ2.js +1 -0
- package/.output/public/_nuxt/Z-Z6EhXs.js +1 -0
- package/.output/public/_nuxt/ZuQtOnfI.js +1 -0
- package/.output/public/_nuxt/ZvXovq7N2.js +1 -0
- package/.output/public/_nuxt/_id_.BTrFUIHX.css +1 -0
- package/.output/public/_nuxt/_id_.Bossmhv1.css +1 -0
- package/.output/public/_nuxt/_wsId_.D-u-dbP9.css +1 -0
- package/.output/public/_nuxt/agents.Cgm_JG9L.css +1 -0
- package/.output/public/_nuxt/aml.Bi5X6_oi.css +1 -0
- package/.output/public/_nuxt/bg2adfck.js +1 -0
- package/.output/public/_nuxt/bt__BP-I.js +13 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/1b18aaf2-ccbc-45e0-b9c3-107655b226f9.json +1 -0
- package/.output/public/_nuxt/cBI0JqsV2.js +209 -0
- package/.output/public/_nuxt/cDcDztgb2.js +1 -0
- package/.output/public/_nuxt/cGSl2GZp.js +1 -0
- package/.output/public/_nuxt/csitHKnE2.js +1 -0
- package/.output/public/_nuxt/d-w5jR8R.js +1 -0
- package/.output/public/_nuxt/daq.0uieKcZk.css +1 -0
- package/.output/public/_nuxt/dcw.pQRVkAi_.css +1 -0
- package/.output/public/_nuxt/default.uao9U50c.css +1 -0
- package/.output/public/_nuxt/e7BBCLxr.js +1 -0
- package/.output/public/_nuxt/entry.6DEjPWvR.css +1 -0
- package/.output/public/_nuxt/eutnXI4F.js +24 -0
- package/.output/public/_nuxt/fxWyOzyp2.js +1 -0
- package/.output/public/_nuxt/hkMGMTqt.js +1 -0
- package/.output/public/_nuxt/ikAUnxx3.js +1 -0
- package/.output/public/_nuxt/lWYQbIR3.js +1 -0
- package/.output/public/_nuxt/logs.CD0Olr3c.css +1 -0
- package/.output/public/_nuxt/monitor.CI2v5Nvl.css +1 -0
- package/.output/public/_nuxt/pages.CMhSEhEb.css +1 -0
- package/.output/public/_nuxt/permissions.DxuOOIqQ.css +1 -0
- package/.output/public/_nuxt/plugins.C50x1qZp.css +1 -0
- package/.output/public/_nuxt/qOlYoGLf.js +1 -0
- package/.output/public/_nuxt/schedules.BXNJ9q_I.css +1 -0
- package/.output/public/_nuxt/settings.Bo5EYkLI.css +1 -0
- package/.output/public/_nuxt/teams.sGmx1AdX.css +1 -0
- package/.output/public/_nuxt/tokens.DFMFaCYU.css +1 -0
- package/.output/public/_nuxt/uI9Ki_XZ.js +9 -0
- package/.output/public/_nuxt/users.DBxcKnfg.css +1 -0
- package/.output/public/_nuxt/v55S8LnT.js +1 -0
- package/.output/public/_nuxt/wDPc4SSR.js +106 -0
- package/.output/public/_nuxt/workshop.b4YRXEe0.css +1 -0
- package/.output/public/_nuxt/y9kob70X.js +1 -0
- package/.output/public/_nuxt/zh-S_7rN.js +1 -0
- package/.output/server/chunks/_/LeftOutlined.mjs +1 -1
- package/.output/server/chunks/_/SearchOutlined.mjs +1243 -279
- package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -1
- package/.output/server/chunks/_/binding-authz.mjs +1 -1
- package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
- package/.output/server/chunks/_/entity.mjs +1 -1
- package/.output/server/chunks/_/env-manager.mjs +1 -1
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +27006 -19064
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
- package/.output/server/chunks/build/Checkbox-4EdGAAl_.mjs +206 -0
- package/.output/server/chunks/build/Checkbox-4EdGAAl_.mjs.map +1 -0
- package/.output/server/chunks/build/FormItemContext-4ORSzhWv.mjs +72 -0
- package/.output/server/chunks/build/FormItemContext-4ORSzhWv.mjs.map +1 -0
- package/.output/server/chunks/build/OmpTerminalPanel-EQHrOJbw.mjs +942 -0
- package/.output/server/chunks/build/OmpTerminalPanel-EQHrOJbw.mjs.map +1 -0
- package/.output/server/chunks/build/PluginSlot-BP_qedpQ.mjs +399 -0
- package/.output/server/chunks/build/PluginSlot-BP_qedpQ.mjs.map +1 -0
- package/.output/server/chunks/build/TownView-BAR8CPIZ.mjs +6373 -0
- package/.output/server/chunks/build/TownView-BAR8CPIZ.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-DgMpjM3_.mjs +1354 -0
- package/.output/server/chunks/build/_id_-DgMpjM3_.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-Dv3BQbYV.mjs +388 -0
- package/.output/server/chunks/build/_id_-Dv3BQbYV.mjs.map +1 -0
- package/.output/server/chunks/build/_wsId_-BKJvFmyf.mjs +13109 -0
- package/.output/server/chunks/build/_wsId_-BKJvFmyf.mjs.map +1 -0
- package/.output/server/chunks/build/agents-B2GLPmn2.mjs +1085 -0
- package/.output/server/chunks/build/agents-B2GLPmn2.mjs.map +1 -0
- package/.output/server/chunks/build/aml-DdWicH3t.mjs +806 -0
- package/.output/server/chunks/build/aml-DdWicH3t.mjs.map +1 -0
- package/.output/server/chunks/build/api-BY6ji7RC.mjs +50 -0
- package/.output/server/chunks/build/api-BY6ji7RC.mjs.map +1 -0
- package/.output/server/chunks/build/api-error-BwAQLw44.mjs +47 -0
- package/.output/server/chunks/build/api-error-BwAQLw44.mjs.map +1 -0
- package/.output/server/chunks/build/apiClient-D281qrK2.mjs +81 -0
- package/.output/server/chunks/build/apiClient-D281qrK2.mjs.map +1 -0
- package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs +1 -1
- package/.output/server/chunks/build/card-CUSocE9p.mjs +953 -0
- package/.output/server/chunks/build/card-CUSocE9p.mjs.map +1 -0
- package/.output/server/chunks/build/channel-templates-RPOtkgRf.mjs +846 -0
- package/.output/server/chunks/build/channel-templates-RPOtkgRf.mjs.map +1 -0
- package/.output/server/chunks/build/checkbox-C4AKj81e.mjs +439 -0
- package/.output/server/chunks/build/checkbox-C4AKj81e.mjs.map +1 -0
- package/.output/server/chunks/build/client-only-qNA2OVV_.mjs +43 -0
- package/.output/server/chunks/build/client-only-qNA2OVV_.mjs.map +1 -0
- package/.output/server/chunks/build/constants-HPHJvjne.mjs +139 -0
- package/.output/server/chunks/build/constants-HPHJvjne.mjs.map +1 -0
- package/.output/server/chunks/build/core-CgTOPS4t.mjs +294 -0
- package/.output/server/chunks/build/core-CgTOPS4t.mjs.map +1 -0
- package/.output/server/chunks/build/daq-CPtsh0e7.mjs +1253 -0
- package/.output/server/chunks/build/daq-CPtsh0e7.mjs.map +1 -0
- package/.output/server/chunks/build/dcw-ry5Gyw6Y.mjs +478 -0
- package/.output/server/chunks/build/dcw-ry5Gyw6Y.mjs.map +1 -0
- package/.output/server/chunks/build/default-DxOE1eB0.mjs +2061 -0
- package/.output/server/chunks/build/default-DxOE1eB0.mjs.map +1 -0
- package/.output/server/chunks/build/descriptions-CFaUq4y4.mjs +406 -0
- package/.output/server/chunks/build/descriptions-CFaUq4y4.mjs.map +1 -0
- package/.output/server/chunks/build/drawer-Cfh9_zft.mjs +834 -0
- package/.output/server/chunks/build/drawer-Cfh9_zft.mjs.map +1 -0
- package/.output/server/chunks/build/dropdown-KdKWCS5K.mjs +556 -0
- package/.output/server/chunks/build/dropdown-KdKWCS5K.mjs.map +1 -0
- package/.output/server/chunks/build/dropdown-Yev6knaj.mjs +14 -0
- package/.output/server/chunks/build/dropdown-Yev6knaj.mjs.map +1 -0
- package/.output/server/chunks/build/form-uSlNqIAV.mjs +4711 -0
- package/.output/server/chunks/build/form-uSlNqIAV.mjs.map +1 -0
- package/.output/server/chunks/build/input-Cr_KFj4T.mjs +1381 -0
- package/.output/server/chunks/build/input-Cr_KFj4T.mjs.map +1 -0
- package/.output/server/chunks/build/input-number-BRVnxeiA.mjs +1119 -0
- package/.output/server/chunks/build/input-number-BRVnxeiA.mjs.map +1 -0
- package/.output/server/chunks/build/interval-DvHBIIZh.mjs +9 -0
- package/.output/server/chunks/build/interval-DvHBIIZh.mjs.map +1 -0
- package/.output/server/chunks/build/logs-CeaiO3y9.mjs +367 -0
- package/.output/server/chunks/build/logs-CeaiO3y9.mjs.map +1 -0
- package/.output/server/chunks/build/menu-BgkRSSx7.mjs +1949 -0
- package/.output/server/chunks/build/menu-BgkRSSx7.mjs.map +1 -0
- package/.output/server/chunks/build/monitor-DnuXEIi5.mjs +2245 -0
- package/.output/server/chunks/build/monitor-DnuXEIi5.mjs.map +1 -0
- package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs +6 -0
- package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs.map +1 -0
- package/.output/server/chunks/build/pages-Bn90ijKD.mjs +539 -0
- package/.output/server/chunks/build/pages-Bn90ijKD.mjs.map +1 -0
- package/.output/server/chunks/build/permissions-DL70W1YD.mjs +629 -0
- package/.output/server/chunks/build/permissions-DL70W1YD.mjs.map +1 -0
- package/.output/server/chunks/build/plugins-DrsZo--K.mjs +246 -0
- package/.output/server/chunks/build/plugins-DrsZo--K.mjs.map +1 -0
- package/.output/server/chunks/build/popconfirm-Ox-_2V8A.mjs +339 -0
- package/.output/server/chunks/build/popconfirm-Ox-_2V8A.mjs.map +1 -0
- package/.output/server/chunks/build/schedules-VLzNcjnW.mjs +7164 -0
- package/.output/server/chunks/build/schedules-VLzNcjnW.mjs.map +1 -0
- package/.output/server/chunks/build/segmented-C61yLHvo.mjs +341 -0
- package/.output/server/chunks/build/segmented-C61yLHvo.mjs.map +1 -0
- package/.output/server/chunks/build/select-rdBWytVK.mjs +3922 -0
- package/.output/server/chunks/build/select-rdBWytVK.mjs.map +1 -0
- package/.output/server/chunks/build/settings-DVAUVMsX.mjs +1089 -0
- package/.output/server/chunks/build/settings-DVAUVMsX.mjs.map +1 -0
- package/.output/server/chunks/build/space-B2uhHJG8.mjs +110 -0
- package/.output/server/chunks/build/space-B2uhHJG8.mjs.map +1 -0
- package/.output/server/chunks/build/spin-C2cuvGth.mjs +357 -0
- package/.output/server/chunks/build/spin-C2cuvGth.mjs.map +1 -0
- package/.output/server/chunks/build/switch-DZAUIbIN.mjs +377 -0
- package/.output/server/chunks/build/switch-DZAUIbIN.mjs.map +1 -0
- package/.output/server/chunks/build/table-DOFAvY-v.mjs +8881 -0
- package/.output/server/chunks/build/table-DOFAvY-v.mjs.map +1 -0
- package/.output/server/chunks/build/tabs-DTeIuZeP.mjs +1923 -0
- package/.output/server/chunks/build/tabs-DTeIuZeP.mjs.map +1 -0
- package/.output/server/chunks/build/tag-CHLGvNM6.mjs +1029 -0
- package/.output/server/chunks/build/tag-CHLGvNM6.mjs.map +1 -0
- package/.output/server/chunks/build/teams-Mc07PYO8.mjs +1195 -0
- package/.output/server/chunks/build/teams-Mc07PYO8.mjs.map +1 -0
- package/.output/server/chunks/build/tokens-DiwD5qni.mjs +1036 -0
- package/.output/server/chunks/build/tokens-DiwD5qni.mjs.map +1 -0
- package/.output/server/chunks/build/town-BIn3be5v.mjs +39 -0
- package/.output/server/chunks/build/town-BIn3be5v.mjs.map +1 -0
- package/.output/server/chunks/build/town-D8VmTCmN.mjs +128 -0
- package/.output/server/chunks/build/town-D8VmTCmN.mjs.map +1 -0
- package/.output/server/chunks/build/types-D6J7slEa.mjs +5561 -0
- package/.output/server/chunks/build/types-D6J7slEa.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentHarnessOptions-CPn5dzKe.mjs +121 -0
- package/.output/server/chunks/build/useAgentHarnessOptions-CPn5dzKe.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplateActions-DQWzVnZ0.mjs +74 -0
- package/.output/server/chunks/build/useAgentTemplateActions-DQWzVnZ0.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs +64 -0
- package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplateForm-vqyiRPtt.mjs +114 -0
- package/.output/server/chunks/build/useAgentTemplateForm-vqyiRPtt.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplatesCatalog-DcQbsOik.mjs +130 -0
- package/.output/server/chunks/build/useAgentTemplatesCatalog-DcQbsOik.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlDatasets-BM0lZu40.mjs +89 -0
- package/.output/server/chunks/build/useAmlDatasets-BM0lZu40.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlEntities-BjXWvFd_.mjs +83 -0
- package/.output/server/chunks/build/useAmlEntities-BjXWvFd_.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlEnv-BB7p6x_w.mjs +191 -0
- package/.output/server/chunks/build/useAmlEnv-BB7p6x_w.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlExperiments-BtyW32PO.mjs +86 -0
- package/.output/server/chunks/build/useAmlExperiments-BtyW32PO.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlFormat-WrKuRfw2.mjs +79 -0
- package/.output/server/chunks/build/useAmlFormat-WrKuRfw2.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlJobs-DBuLvWMF.mjs +263 -0
- package/.output/server/chunks/build/useAmlJobs-DBuLvWMF.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlModels-VurmkBYe.mjs +90 -0
- package/.output/server/chunks/build/useAmlModels-VurmkBYe.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlNotes-BUdj3X6Y.mjs +83 -0
- package/.output/server/chunks/build/useAmlNotes-BUdj3X6Y.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlPredict-DFy-Do10.mjs +127 -0
- package/.output/server/chunks/build/useAmlPredict-DFy-Do10.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqAddNode-kW7uTSMQ.mjs +139 -0
- package/.output/server/chunks/build/useDaqAddNode-kW7uTSMQ.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailBinding-cpBz4hSL.mjs +67 -0
- package/.output/server/chunks/build/useDaqDetailBinding-cpBz4hSL.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailFrames-BZGtKKXW.mjs +76 -0
- package/.output/server/chunks/build/useDaqDetailFrames-BZGtKKXW.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailHistory-C4_hVeqZ.mjs +173 -0
- package/.output/server/chunks/build/useDaqDetailHistory-C4_hVeqZ.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailNode-Bwid_iA8.mjs +96 -0
- package/.output/server/chunks/build/useDaqDetailNode-Bwid_iA8.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailParams-JfqHvTxr.mjs +156 -0
- package/.output/server/chunks/build/useDaqDetailParams-JfqHvTxr.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqFilters-C13836p-.mjs +219 -0
- package/.output/server/chunks/build/useDaqFilters-C13836p-.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs +87 -0
- package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqOptimizations-Ct-TSXxy.mjs +133 -0
- package/.output/server/chunks/build/useDaqOptimizations-Ct-TSXxy.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqStream-wOxZcMDA.mjs +395 -0
- package/.output/server/chunks/build/useDaqStream-wOxZcMDA.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqTemplates-BqQRdrIm.mjs +184 -0
- package/.output/server/chunks/build/useDaqTemplates-BqQRdrIm.mjs.map +1 -0
- package/.output/server/chunks/build/useDashboardCharts-DZysNDUX.mjs +351 -0
- package/.output/server/chunks/build/useDashboardCharts-DZysNDUX.mjs.map +1 -0
- package/.output/server/chunks/build/useDashboardData-Ny_wtbo6.mjs +150 -0
- package/.output/server/chunks/build/useDashboardData-Ny_wtbo6.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwAddNode-C8nE7geh.mjs +148 -0
- package/.output/server/chunks/build/useDcwAddNode-C8nE7geh.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwCards-ETEsHvVy.mjs +64 -0
- package/.output/server/chunks/build/useDcwCards-ETEsHvVy.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwDetailScope-BNrpDzbO.mjs +181 -0
- package/.output/server/chunks/build/useDcwDetailScope-BNrpDzbO.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwDetailTemplates-IcKAJ37Y.mjs +145 -0
- package/.output/server/chunks/build/useDcwDetailTemplates-IcKAJ37Y.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwFilter-FfVlDdyS.mjs +68 -0
- package/.output/server/chunks/build/useDcwFilter-FfVlDdyS.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLedger-BLoMmcu1.mjs +76 -0
- package/.output/server/chunks/build/useDcwLedger-BLoMmcu1.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLineMutations-BMC5BTWU.mjs +134 -0
- package/.output/server/chunks/build/useDcwLineMutations-BMC5BTWU.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLineRun-Bpxk4mse.mjs +101 -0
- package/.output/server/chunks/build/useDcwLineRun-Bpxk4mse.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwProducts-D-zrMaeV.mjs +90 -0
- package/.output/server/chunks/build/useDcwProducts-D-zrMaeV.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwQuery-1lYHOaU6.mjs +95 -0
- package/.output/server/chunks/build/useDcwQuery-1lYHOaU6.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwQuickActions-C-tgcXIr.mjs +85 -0
- package/.output/server/chunks/build/useDcwQuickActions-C-tgcXIr.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwRecipes-BzGOymqz.mjs +237 -0
- package/.output/server/chunks/build/useDcwRecipes-BzGOymqz.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwStream-D04kCV3J.mjs +435 -0
- package/.output/server/chunks/build/useDcwStream-D04kCV3J.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwTemplates-Dsjw9u6U.mjs +88 -0
- package/.output/server/chunks/build/useDcwTemplates-Dsjw9u6U.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwWrites-3RxwN36I.mjs +120 -0
- package/.output/server/chunks/build/useDcwWrites-3RxwN36I.mjs.map +1 -0
- package/.output/server/chunks/build/useDeviceTwins-CbVad1M3.mjs +128 -0
- package/.output/server/chunks/build/useDeviceTwins-CbVad1M3.mjs.map +1 -0
- package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs +1 -8
- package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs.map +1 -1
- package/.output/server/chunks/build/useLogsFormat-BlwLpyzy.mjs +74 -0
- package/.output/server/chunks/build/useLogsFormat-BlwLpyzy.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsManual-Deev2Cjk.mjs +81 -0
- package/.output/server/chunks/build/useLogsManual-Deev2Cjk.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsQuery-CRAm2hmS.mjs +112 -0
- package/.output/server/chunks/build/useLogsQuery-CRAm2hmS.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsScope-ClNijVj4.mjs +80 -0
- package/.output/server/chunks/build/useLogsScope-ClNijVj4.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorColumns-ylxrUNTK.mjs +212 -0
- package/.output/server/chunks/build/useMonitorColumns-ylxrUNTK.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorData-CEpKXoD4.mjs +131 -0
- package/.output/server/chunks/build/useMonitorData-CEpKXoD4.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorFormat-_7zLapf3.mjs +87 -0
- package/.output/server/chunks/build/useMonitorFormat-_7zLapf3.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs +68 -0
- package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs.map +1 -0
- package/.output/server/chunks/build/useOpsLog-CgnNG7_n.mjs +137 -0
- package/.output/server/chunks/build/useOpsLog-CgnNG7_n.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamActions-D6sxdpkP.mjs +76 -0
- package/.output/server/chunks/build/useTeamActions-D6sxdpkP.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamAddMemberDialog-Q-ntQ6Vo.mjs +81 -0
- package/.output/server/chunks/build/useTeamAddMemberDialog-Q-ntQ6Vo.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamCreateDialog-D7OMfDTM.mjs +94 -0
- package/.output/server/chunks/build/useTeamCreateDialog-D7OMfDTM.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamDeployDialog-vBRqjiut.mjs +77 -0
- package/.output/server/chunks/build/useTeamDeployDialog-vBRqjiut.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs +79 -0
- package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamPluginDialog-B8kxewpZ.mjs +100 -0
- package/.output/server/chunks/build/useTeamPluginDialog-B8kxewpZ.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamsCatalog-xRhk7ezA.mjs +120 -0
- package/.output/server/chunks/build/useTeamsCatalog-xRhk7ezA.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs +69 -0
- package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenCreate-DpDcF1Vx.mjs +112 -0
- package/.output/server/chunks/build/useTokenCreate-DpDcF1Vx.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenRename-BRejFrtc.mjs +84 -0
- package/.output/server/chunks/build/useTokenRename-BRejFrtc.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenReveal-DER2afAS.mjs +115 -0
- package/.output/server/chunks/build/useTokenReveal-DER2afAS.mjs.map +1 -0
- package/.output/server/chunks/build/useTokensList-DHt65IOY.mjs +89 -0
- package/.output/server/chunks/build/useTokensList-DHt65IOY.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkbenchAuth-B2j-zILO.mjs +135 -0
- package/.output/server/chunks/build/useWorkbenchAuth-B2j-zILO.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkbenchWorkspaces-B_2mOxN6.mjs +133 -0
- package/.output/server/chunks/build/useWorkbenchWorkspaces-B_2mOxN6.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopApi-B1B9vd4m.mjs +102 -0
- package/.output/server/chunks/build/useWorkshopApi-B1B9vd4m.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopWs-B-Es2Xg3.mjs +1782 -0
- package/.output/server/chunks/build/useWorkshopWs-B-Es2Xg3.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspaceAuth-tQ1ORWXo.mjs +57 -0
- package/.output/server/chunks/build/useWorkspaceAuth-tQ1ORWXo.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspaceChannels-BwB6TAWY.mjs +87 -0
- package/.output/server/chunks/build/useWorkspaceChannels-BwB6TAWY.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspacePanels-CuAmDpT5.mjs +75 -0
- package/.output/server/chunks/build/useWorkspacePanels-CuAmDpT5.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspaceShell-CcQ4JlqO.mjs +165 -0
- package/.output/server/chunks/build/useWorkspaceShell-CcQ4JlqO.mjs.map +1 -0
- package/.output/server/chunks/build/users-De2HygNt.mjs +561 -0
- package/.output/server/chunks/build/users-De2HygNt.mjs.map +1 -0
- package/.output/server/chunks/build/workshop-CmgpTwyf.mjs +1018 -0
- package/.output/server/chunks/build/workshop-CmgpTwyf.mjs.map +1 -0
- package/.output/server/chunks/build/workspaces-DVIEk1Bl.mjs +139 -0
- package/.output/server/chunks/build/workspaces-DVIEk1Bl.mjs.map +1 -0
- package/.output/server/chunks/routes/api/health.get.mjs +2 -2
- package/.output/server/chunks/routes/api/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/mcp/workshop.mjs +2 -2
- package/.output/server/chunks/routes/api/metrics.mjs +2 -2
- package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +2 -2
- package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/plugins/i18n.get.mjs +2 -2
- package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +2 -2
- package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/system/config.get.mjs +2 -2
- package/.output/server/chunks/routes/api/system/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/system/index.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/system/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/system/index2.get.mjs +2 -2
- package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +35 -4
- package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs.map +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +2 -2
- package/.output/server/chunks/routes/api/system/monitor.get.mjs +2 -2
- package/.output/server/chunks/routes/api/system/settings/events.get.mjs +2 -2
- package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +2 -2
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/users/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/users/_id_.put.mjs +2 -2
- package/.output/server/chunks/routes/api/users/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/users/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/users/login.post.mjs +2 -2
- package/.output/server/chunks/routes/api/users/logout.post.mjs +2 -2
- package/.output/server/chunks/routes/api/users/me.get.mjs +2 -2
- package/.output/server/chunks/routes/api/users/register.post.mjs +2 -2
- package/.output/server/chunks/routes/api/users/setup-status.get.mjs +2 -2
- package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +2 -2
- package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/_...path_.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +38 -6
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +14 -5
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/audit.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/caller.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +10 -5
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +41 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +52 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs +48 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +10 -14
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +15 -28
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +29 -23
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +9 -4
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +22 -10
- package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs +34 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs +34 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +35 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +22 -6
- package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.get.mjs +21 -3
- package/.output/server/chunks/routes/api/workshop/channels.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +5 -5
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +11 -4
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +28 -36
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs +26 -12
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs +12 -7
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index12.get.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/index12.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index13.get.mjs +29 -0
- package/.output/server/chunks/routes/api/workshop/index13.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index14.get.mjs +28 -0
- package/.output/server/chunks/routes/api/workshop/index14.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index7.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs +14 -16
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs +40 -19
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs +19 -5
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs +20 -24
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.post.mjs +30 -0
- package/.output/server/chunks/routes/api/workshop/index9.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +41 -0
- package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs +29 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +31 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs +30 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs +29 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +40 -0
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs +39 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs +44 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +9 -5
- package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +2 -2
- package/.output/server/chunks/routes/renderer.mjs +3 -3
- package/.output/server/chunks/virtual/entry.mjs +6055 -1624
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/index.mjs +15 -5549
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +102 -48
- package/README.md +105 -38
- package/app/components/AppHeader.vue +26 -703
- package/app/components/aml/AmlDatasetFormModal.vue +279 -0
- package/app/components/aml/AmlDatasetTable.vue +319 -0
- package/app/components/aml/AmlEnvPanel.vue +230 -0
- package/app/components/aml/AmlExperimentsTable.vue +142 -0
- package/app/components/aml/AmlInfraBanner.vue +23 -0
- package/app/components/aml/AmlJobsTable.vue +248 -0
- package/app/components/aml/AmlModelsTable.vue +173 -0
- package/app/components/aml/AmlOverviewBar.vue +62 -0
- package/app/components/aml/AmlPageHeader.vue +47 -0
- package/app/components/aml/AmlPredictConsole.vue +201 -0
- package/app/components/app-header/HeaderTools.vue +208 -0
- package/app/components/app-header/HitlBell.vue +423 -0
- package/app/components/app-header/TrailNav.vue +261 -0
- package/app/components/app-header/UserChip.vue +150 -0
- package/app/components/daq/DaqAddNodeModal.vue +209 -0
- package/app/components/daq/DaqAlarmBar.vue +46 -0
- package/app/components/daq/DaqControlCard.vue +159 -0
- package/app/components/daq/DaqDetailFramesTile.vue +139 -0
- package/app/components/daq/DaqDetailHistoryCard.vue +128 -0
- package/app/components/daq/DaqDetailLiveCard.vue +92 -0
- package/app/components/daq/DaqDetailParamForm.vue +350 -0
- package/app/components/daq/DaqInfraBanner.vue +31 -0
- package/app/components/daq/DaqLineBanner.vue +47 -0
- package/app/components/daq/DaqNodePanel.vue +396 -0
- package/app/components/daq/DaqOptPanel.vue +197 -0
- package/app/components/daq/DaqTemplateModal.vue +246 -0
- package/app/components/dashboard/DashboardFleetPanel.vue +228 -0
- package/app/components/dashboard/DashboardGaugeBand.vue +78 -0
- package/app/components/dashboard/DashboardHarnessPanel.vue +149 -0
- package/app/components/dashboard/DashboardHero.vue +209 -0
- package/app/components/dashboard/DashboardLineStatePanel.vue +78 -0
- package/app/components/dashboard/DashboardNodeStatePanel.vue +46 -0
- package/app/components/dashboard/DashboardPipelinePanel.vue +46 -0
- package/app/components/dashboard/DashboardTrendPanel.vue +83 -0
- package/app/components/dashboard/DashboardWritePanel.vue +52 -0
- package/app/components/dcw/DcwAddNodeModal.vue +328 -0
- package/app/components/dcw/DcwAdoptCard.vue +89 -0
- package/app/components/dcw/DcwCreateLineModal.vue +105 -0
- package/app/components/dcw/DcwDeleteLineModal.vue +73 -0
- package/app/components/dcw/DcwDetailHead.vue +65 -0
- package/app/components/dcw/DcwDetailTemplateModal.vue +238 -0
- package/app/components/dcw/DcwEditLineModal.vue +108 -0
- package/app/components/dcw/DcwGatewayBar.vue +94 -0
- package/app/components/dcw/DcwLedgerCard.vue +160 -0
- package/app/components/dcw/DcwLineCard.vue +117 -0
- package/app/components/dcw/DcwLineRunCard.vue +158 -0
- package/app/components/dcw/DcwNodesTable.vue +253 -0
- package/app/components/dcw/DcwProductCreateModal.vue +113 -0
- package/app/components/dcw/DcwQueryCard.vue +251 -0
- package/app/components/dcw/DcwRecipeEditModal.vue +285 -0
- package/app/components/dcw/DcwRecipeHistoryModal.vue +165 -0
- package/app/components/dcw/DcwRecipePanel.vue +367 -0
- package/app/components/dcw/DcwRunDataModal.vue +191 -0
- package/app/components/dcw/DcwTemplateModal.vue +227 -0
- package/app/components/dcw/DcwWriteHistoryCard.vue +96 -0
- package/app/components/logs/LogsEventTable.vue +309 -0
- package/app/components/logs/LogsFilterCard.vue +234 -0
- package/app/components/logs/LogsManualModal.vue +231 -0
- package/app/components/logs/LogsPageHead.vue +71 -0
- package/app/components/monitor/MonitorAgentTable.vue +143 -0
- package/app/components/monitor/MonitorChannelTable.vue +80 -0
- package/app/components/monitor/MonitorLoginGate.vue +24 -0
- package/app/components/monitor/MonitorPageHead.vue +92 -0
- package/app/components/monitor/MonitorProcessTable.vue +159 -0
- package/app/components/monitor/MonitorStatGrid.vue +165 -0
- package/app/components/settings/AppearancePane.vue +282 -0
- package/app/components/settings/PluginsSection.vue +280 -0
- package/app/components/settings/RuntimeFieldRow.vue +189 -0
- package/app/components/settings/RuntimeGroupSection.vue +290 -0
- package/app/components/settings/RuntimePane.vue +235 -0
- package/app/components/settings/SystemPane.vue +83 -0
- package/app/components/tokens/TokenCreateModal.vue +42 -0
- package/app/components/tokens/TokenOnceModal.vue +164 -0
- package/app/components/tokens/TokenRenameModal.vue +40 -0
- package/app/components/tokens/TokensAuthGate.vue +47 -0
- package/app/components/tokens/TokensPageHead.vue +76 -0
- package/app/components/tokens/TokensTable.vue +227 -0
- package/app/components/workshop/AgentLanesView.vue +35 -755
- package/app/components/workshop/ChannelSessionList.vue +58 -493
- package/app/components/workshop/ChatMemberPanel.vue +555 -0
- package/app/components/workshop/ChatTimeline.vue +569 -0
- package/app/components/workshop/CommandPalette.vue +1 -0
- package/app/components/workshop/Composer.vue +224 -511
- package/app/components/workshop/DeviceTwinPanel.vue +23 -499
- package/app/components/workshop/EventBlock.vue +20 -408
- package/app/components/workshop/MemoryPanel.vue +405 -364
- package/app/components/workshop/MultiChannelView.vue +189 -189
- package/app/components/workshop/NotificationCenter.vue +325 -0
- package/app/components/workshop/TaskBoardView.vue +260 -686
- package/app/components/workshop/TaskInspectorDrawer.vue +484 -390
- package/app/components/workshop/TranscriptTimeline.vue +60 -438
- package/app/components/workshop/agents/AgentTemplateEditModal.vue +139 -0
- package/app/components/workshop/agents/AgentTemplateTable.vue +269 -0
- package/app/components/workshop/agents/AgentTemplateToolbar.vue +67 -0
- package/app/components/workshop/blocks/ClusterRoute.vue +1 -1
- package/app/components/workshop/blocks/EventBlockAvatar.vue +114 -0
- package/app/components/workshop/blocks/EventBlockHead.vue +232 -0
- package/app/components/workshop/composer/ComposerToolbar.vue +278 -0
- package/app/components/workshop/composer/MentionMenu.vue +135 -0
- package/app/components/workshop/composer/ReplyChip.vue +65 -0
- package/app/components/workshop/composer/StatusChip.vue +171 -0
- package/app/components/workshop/console/CenterPane.vue +94 -0
- package/app/components/workshop/console/Dock.vue +71 -0
- package/app/components/workshop/console/LeftPane.vue +84 -0
- package/app/components/workshop/console/RightPane.vue +95 -0
- package/app/components/workshop/console/Topbar.vue +289 -0
- package/app/components/workshop/device-twin/DeviceTwinCard.vue +265 -0
- package/app/components/workshop/device-twin/DeviceTwinDcwSection.vue +203 -0
- package/app/components/workshop/lanes/AddMemberModal.vue +270 -0
- package/app/components/workshop/lanes/EditMemberModal.vue +106 -0
- package/app/components/workshop/lanes/LaneHeader.vue +432 -0
- package/app/components/workshop/lanes/LanesToolbar.vue +97 -0
- package/app/components/workshop/session-list/ChannelSettingsModal.vue +329 -0
- package/app/components/workshop/session-list/MountChannelModal.vue +124 -0
- package/app/components/workshop/session-list/SaveTemplateModal.vue +93 -0
- package/app/components/workshop/task-board/Card.vue +172 -0
- package/app/components/workshop/task-board/Column.vue +151 -0
- package/app/components/workshop/task-board/List.vue +157 -0
- package/app/components/workshop/task-board/StatusMenu.vue +88 -0
- package/app/components/workshop/teams/TeamAddMemberModal.vue +53 -0
- package/app/components/workshop/teams/TeamCard.vue +183 -0
- package/app/components/workshop/teams/TeamCreateModal.vue +94 -0
- package/app/components/workshop/teams/TeamDeployModal.vue +40 -0
- package/app/components/workshop/teams/TeamPluginModal.vue +119 -0
- package/app/components/workshop/terminal/OmpTerminalPanel.vue +19 -760
- package/app/components/workshop/terminal/TerminalHitlCard.vue +170 -0
- package/app/components/workshop/town/TownScene.ts +72 -961
- package/app/components/workshop/town/TownScene3D.ts +357 -4045
- package/app/components/workshop/town/TownView.vue +461 -7405
- package/app/components/workshop/town/components/TownAgentBindings.vue +380 -0
- package/app/components/workshop/town/components/TownAgentInspector.vue +546 -0
- package/app/components/workshop/town/components/TownAlarmList.vue +147 -0
- package/app/components/workshop/town/components/TownBoundaryPanel.vue +350 -0
- package/app/components/workshop/town/components/TownCalloutLayer.vue +147 -0
- package/app/components/workshop/town/components/TownChannelDock.vue +116 -0
- package/app/components/workshop/town/components/TownControlDock.vue +400 -0
- package/app/components/workshop/town/components/TownDaqNodeInspector.vue +345 -0
- package/app/components/workshop/town/components/TownDaqTree.vue +366 -0
- package/app/components/workshop/town/components/TownDcwBindSection.vue +473 -0
- package/app/components/workshop/town/components/TownDcwNodeInspector.vue +185 -0
- package/app/components/workshop/town/components/TownDcwTree.vue +280 -0
- package/app/components/workshop/town/components/TownDeviceBindings.vue +394 -0
- package/app/components/workshop/town/components/TownDeviceTransform.vue +248 -0
- package/app/components/workshop/town/components/TownEventList.vue +120 -0
- package/app/components/workshop/town/components/TownHealthBody.vue +100 -0
- package/app/components/workshop/town/components/TownKpiStrip.vue +207 -0
- package/app/components/workshop/town/components/TownLeftRail.vue +308 -0
- package/app/components/workshop/town/components/TownLoadingMask.vue +61 -0
- package/app/components/workshop/town/components/TownNavMap.vue +154 -0
- package/app/components/workshop/town/components/TownRightRail.vue +540 -0
- package/app/components/workshop/town/components/TownStage.vue +281 -0
- package/app/components/workshop/town/components/TownStageTop.vue +238 -0
- package/app/components/workshop/town/components/TownStatusBar.vue +108 -0
- package/app/components/workshop/town/components/TownTopNav.vue +367 -0
- package/app/components/workshop/town/components/TownTrendDock.vue +178 -0
- package/app/components/workshop/town/scene/town-scene-agents.ts +254 -0
- package/app/components/workshop/town/scene/town-scene-behavior.ts +194 -0
- package/app/components/workshop/town/scene/town-scene-bubbles.ts +96 -0
- package/app/components/workshop/town/scene/town-scene-core.ts +158 -0
- package/app/components/workshop/town/scene/town-scene-models.ts +109 -0
- package/app/components/workshop/town/scene/town-scene-visuals.ts +279 -0
- package/app/components/workshop/town/scene/town-scene3d-agents.ts +308 -0
- package/app/components/workshop/town/scene/town-scene3d-blocks.ts +297 -0
- package/app/components/workshop/town/scene/town-scene3d-bubbles.ts +281 -0
- package/app/components/workshop/town/scene/town-scene3d-camera.ts +282 -0
- package/app/components/workshop/town/scene/town-scene3d-devices.ts +433 -0
- package/app/components/workshop/town/scene/town-scene3d-editing.ts +490 -0
- package/app/components/workshop/town/scene/town-scene3d-events.ts +173 -0
- package/app/components/workshop/town/scene/town-scene3d-factory.ts +412 -0
- package/app/components/workshop/town/scene/town-scene3d-hud.ts +110 -0
- package/app/components/workshop/town/scene/town-scene3d-lifecycle.ts +144 -0
- package/app/components/workshop/town/scene/town-scene3d-links.ts +141 -0
- package/app/components/workshop/town/scene/town-scene3d-loop.ts +286 -0
- package/app/components/workshop/town/scene/town-scene3d-models.ts +154 -0
- package/app/components/workshop/town/scene/town-scene3d-nodes.ts +562 -0
- package/app/components/workshop/town/scene/town-scene3d-ranges.ts +273 -0
- package/app/components/workshop/town/scene/town-scene3d-renderer.ts +320 -0
- package/app/components/workshop/town/scene/town-scene3d-selection.ts +257 -0
- package/app/components/workshop/town/scene/town-scene3d-types.ts +264 -0
- package/app/components/workshop/transcript/TranscriptBlockList.vue +68 -0
- package/app/components/workshop/transcript/TranscriptEarlierPager.vue +81 -0
- package/app/components/workshop/transcript/TranscriptEmptyState.vue +153 -0
- package/app/components/workshop/transcript/TranscriptFilterBar.vue +126 -0
- package/app/components/workshop/workbench/AuthGate.vue +179 -0
- package/app/components/workshop/workbench/CreateWorkspaceModal.vue +36 -0
- package/app/components/workshop/workbench/WorkbenchHead.vue +129 -0
- package/app/components/workshop/workbench/WorkspaceCard.vue +198 -0
- package/app/components/workshop/workbench/WorkspaceEmpty.vue +56 -0
- package/app/composables/workshop/device-twin-types.ts +29 -0
- package/app/composables/workshop/event-blocks/attention.ts +58 -0
- package/app/composables/workshop/event-blocks/classify.ts +44 -0
- package/app/composables/workshop/event-blocks/clusterer.ts +231 -0
- package/app/composables/workshop/event-blocks/constants.ts +48 -0
- package/app/composables/workshop/event-blocks/fold-stream.ts +45 -0
- package/app/composables/workshop/event-blocks/markdown.ts +81 -0
- package/app/composables/workshop/event-blocks/mentions.ts +49 -0
- package/app/composables/workshop/event-blocks/text-utils.ts +100 -0
- package/app/composables/workshop/event-blocks/types.ts +40 -0
- package/app/composables/workshop/town/town-relay-props.ts +226 -0
- package/app/composables/workshop/town/town-view-types.ts +145 -0
- package/app/composables/workshop/town/useTownAgentBindings.ts +115 -0
- package/app/composables/workshop/town/useTownAgentChat.ts +203 -0
- package/app/composables/workshop/town/useTownAlarms.ts +36 -0
- package/app/composables/workshop/town/useTownCallouts.ts +174 -0
- package/app/composables/workshop/town/useTownChannels.ts +220 -0
- package/app/composables/workshop/town/useTownHealth.ts +66 -0
- package/app/composables/workshop/town/useTownHudTickers.ts +77 -0
- package/app/composables/workshop/town/useTownLayout.ts +277 -0
- package/app/composables/workshop/town/useTownNavMap.ts +301 -0
- package/app/composables/workshop/town/useTownNodeBindings.ts +345 -0
- package/app/composables/workshop/town/useTownPanelDrag.ts +91 -0
- package/app/composables/workshop/town/useTownRailData.ts +421 -0
- package/app/composables/workshop/town/useTownSceneControl.ts +92 -0
- package/app/composables/workshop/town/useTownSceneInput.ts +275 -0
- package/app/composables/workshop/town/useTownSceneRuntime.ts +390 -0
- package/app/composables/workshop/town/useTownSheets.ts +41 -0
- package/app/composables/workshop/town/useTownTrends.ts +93 -0
- package/app/composables/workshop/useChannelList.ts +88 -0
- package/app/composables/workshop/useChannelTerminals.ts +65 -0
- package/app/composables/workshop/useComposerMentions.ts +130 -0
- package/app/composables/workshop/useDeviceTwinDcwWrite.ts +77 -0
- package/app/composables/workshop/useDeviceTwinPanel.ts +56 -0
- package/app/composables/workshop/useEventBlockView.ts +159 -0
- package/app/composables/workshop/useEventBlocks.ts +33 -662
- package/app/composables/workshop/useHitlAnswer.ts +184 -0
- package/app/composables/workshop/useLaneWidths.ts +27 -0
- package/app/composables/workshop/useOmpTerminalSession.ts +424 -0
- package/app/composables/workshop/usePluginAdmin.ts +152 -0
- package/app/composables/workshop/useRuntimeConfigDraft.ts +118 -0
- package/app/composables/workshop/useSettingsGroups.ts +243 -0
- package/app/composables/workshop/useTaskBoardColumns.ts +47 -0
- package/app/composables/workshop/useTaskBoardDrag.ts +78 -0
- package/app/composables/workshop/useTaskBoardMenu.ts +60 -0
- package/app/composables/workshop/useTaskBoardTasks.ts +74 -0
- package/app/composables/workshop/useTerminalRenderer.ts +308 -0
- package/app/composables/workshop/useTranscriptEnterStage.ts +48 -0
- package/app/composables/workshop/useTranscriptHistory.ts +52 -0
- package/app/composables/workshop/useTranscriptScroll.ts +113 -0
- package/app/composables/workshop/useWorkshopApi.ts +85 -2
- package/app/composables/workshop/useWorkshopWs.ts +265 -126
- package/app/config/schema.ts +13 -0
- package/app/layouts/town.vue +21 -16
- package/app/pages/aml/api.ts +6 -0
- package/app/pages/aml/composables/useAmlDatasets.ts +38 -0
- package/app/pages/aml/composables/useAmlEntities.ts +57 -0
- package/app/pages/aml/composables/useAmlEnv.ts +191 -0
- package/app/pages/aml/composables/useAmlExperiments.ts +45 -0
- package/app/pages/aml/composables/useAmlFormat.ts +44 -0
- package/app/pages/aml/composables/useAmlJobs.ts +131 -0
- package/app/pages/aml/composables/useAmlModels.ts +56 -0
- package/app/pages/aml/composables/useAmlNotes.ts +47 -0
- package/app/pages/aml/composables/useAmlPredict.ts +93 -0
- package/app/pages/aml/constants.ts +63 -0
- package/app/pages/aml/index.vue +143 -2596
- package/app/pages/aml/styles.css +420 -0
- package/app/pages/aml/types.ts +189 -0
- package/app/pages/composables/useDashboardCharts.ts +192 -0
- package/app/pages/composables/useDashboardData.ts +144 -0
- package/app/pages/daq/[id].vue +59 -929
- package/app/pages/daq/composables/useDaqAddNode.ts +126 -0
- package/app/pages/daq/composables/useDaqDetailBinding.ts +29 -0
- package/app/pages/daq/composables/useDaqDetailFrames.ts +42 -0
- package/app/pages/daq/composables/useDaqDetailHistory.ts +199 -0
- package/app/pages/daq/composables/useDaqDetailNode.ts +53 -0
- package/app/pages/daq/composables/useDaqDetailParams.ts +138 -0
- package/app/pages/daq/composables/useDaqFilters.ts +187 -0
- package/app/pages/daq/composables/useDaqNodeWindow.ts +86 -0
- package/app/pages/daq/composables/useDaqOptimizations.ts +99 -0
- package/app/pages/daq/composables/useDaqTemplates.ts +152 -0
- package/app/pages/daq/daq-page.css +681 -0
- package/app/pages/daq/index.vue +132 -2188
- package/app/pages/dcw/[id].vue +297 -2615
- package/app/pages/dcw/composables/useDcwAddNode.ts +121 -0
- package/app/pages/dcw/composables/useDcwCards.ts +27 -0
- package/app/pages/dcw/composables/useDcwDetailScope.ts +145 -0
- package/app/pages/dcw/composables/useDcwDetailTemplates.ts +94 -0
- package/app/pages/dcw/composables/useDcwFilter.ts +29 -0
- package/app/pages/dcw/composables/useDcwLedger.ts +34 -0
- package/app/pages/dcw/composables/useDcwLineMutations.ts +115 -0
- package/app/pages/dcw/composables/useDcwLineRun.ts +60 -0
- package/app/pages/dcw/composables/useDcwProducts.ts +54 -0
- package/app/pages/dcw/composables/useDcwQuery.ts +68 -0
- package/app/pages/dcw/composables/useDcwQuickActions.ts +47 -0
- package/app/pages/dcw/composables/useDcwRecipes.ts +239 -0
- package/app/pages/dcw/composables/useDcwTemplates.ts +50 -0
- package/app/pages/dcw/composables/useDcwWrites.ts +81 -0
- package/app/pages/dcw/dcw-page.css +344 -0
- package/app/pages/dcw/index.vue +64 -986
- package/app/pages/dcw/types.ts +9 -0
- package/app/pages/index.vue +64 -925
- package/app/pages/logs/composables/useLogsFormat.ts +43 -0
- package/app/pages/logs/composables/useLogsManual.ts +63 -0
- package/app/pages/logs/composables/useLogsQuery.ts +52 -0
- package/app/pages/logs/composables/useLogsScope.ts +39 -0
- package/app/pages/logs/index.vue +57 -728
- package/app/pages/monitor/composables/useMonitorColumns.ts +69 -0
- package/app/pages/monitor/composables/useMonitorData.ts +124 -0
- package/app/pages/monitor/composables/useMonitorFormat.ts +39 -0
- package/app/pages/monitor/composables/useMonitorTerminal.ts +28 -0
- package/app/pages/monitor/types.ts +61 -0
- package/app/pages/monitor.vue +88 -658
- package/app/pages/permissions/index.vue +3 -2
- package/app/pages/plugins/index.vue +3 -2
- package/app/pages/settings.vue +7 -1403
- package/app/pages/tokens/composables/useTokenClipboard.ts +33 -0
- package/app/pages/tokens/composables/useTokenCreate.ts +93 -0
- package/app/pages/tokens/composables/useTokenRename.ts +54 -0
- package/app/pages/tokens/composables/useTokenReveal.ts +84 -0
- package/app/pages/tokens/composables/useTokensList.ts +60 -0
- package/app/pages/tokens.vue +79 -597
- package/app/pages/users.vue +5 -4
- package/app/pages/workshop/agents.vue +47 -529
- package/app/pages/workshop/composables/useAgentHarnessOptions.ts +59 -0
- package/app/pages/workshop/composables/useAgentTemplateActions.ts +42 -0
- package/app/pages/workshop/composables/useAgentTemplateDialogState.ts +24 -0
- package/app/pages/workshop/composables/useAgentTemplateForm.ts +88 -0
- package/app/pages/workshop/composables/useAgentTemplatesCatalog.ts +92 -0
- package/app/pages/workshop/composables/useTeamActions.ts +44 -0
- package/app/pages/workshop/composables/useTeamAddMemberDialog.ts +49 -0
- package/app/pages/workshop/composables/useTeamCreateDialog.ts +67 -0
- package/app/pages/workshop/composables/useTeamDeployDialog.ts +49 -0
- package/app/pages/workshop/composables/useTeamDialogState.ts +46 -0
- package/app/pages/workshop/composables/useTeamPluginDialog.ts +72 -0
- package/app/pages/workshop/composables/useTeamsCatalog.ts +100 -0
- package/app/pages/workshop/composables/useWorkbenchAuth.ts +125 -0
- package/app/pages/workshop/composables/useWorkbenchWorkspaces.ts +123 -0
- package/app/pages/workshop/composables/useWorkspaceAuth.ts +31 -0
- package/app/pages/workshop/composables/useWorkspaceChannels.ts +62 -0
- package/app/pages/workshop/composables/useWorkspacePanels.ts +56 -0
- package/app/pages/workshop/composables/useWorkspaceShell.ts +136 -0
- package/app/pages/workshop/index.vue +68 -620
- package/app/pages/workshop/schedules.vue +553 -0
- package/app/pages/workshop/teams.vue +58 -568
- package/app/pages/workshop/w/[wsId].vue +113 -596
- package/app/stores/workshop/chat.ts +434 -0
- package/app/stores/workshop/entities.ts +385 -283
- package/app/stores/workshop/events.ts +5 -4
- package/app/stores/workshop/hitl.ts +110 -7
- package/app/stores/workshop/narrow-fetch.ts +23 -0
- package/app/stores/workshop/notifications.ts +288 -0
- package/app/stores/workshop/user.ts +23 -10
- package/app/stores/workshop/workspaces.ts +12 -2
- package/config.yml +7 -1
- package/docs/aml.md +11 -0
- package/docs/cli.en.md +5 -5
- package/docs/cli.md +5 -5
- package/docs/full-test-plan.md +15 -1
- package/docs/plugins.en.md +1 -1
- package/docs/plugins.md +1 -1
- package/docs/sdk.en.md +1 -1
- package/docs/sdk.md +1 -1
- package/i18n/dicts/dcwDetail.json +2 -0
- package/i18n/locales/en.ts +71 -0
- package/i18n/locales/zh-CN.ts +71 -0
- package/package.json +2 -3
- package/scripts/_audit/detached-instance.mjs +112 -0
- package/scripts/_audit/schedules-ui/schedules-page.png +0 -0
- package/scripts/_audit/schedules-ui/workspace-channel-tag.png +0 -0
- package/scripts/_audit/stubs/nuxt-imports.mjs +67 -0
- package/scripts/_audit/ts-register-hook.mjs +12 -0
- package/scripts/_audit/ts-resolve-hook.mjs +25 -5
- package/scripts/_audit/watchdog-recovery-test.mjs +24 -2
- package/scripts/_aw-packaged-start.cjs +22 -0
- package/scripts/_aw0746-stage12.mjs +94 -0
- package/scripts/_aw0746-stage34.mjs +134 -0
- package/scripts/_aw0746-stage5.mjs +106 -0
- package/scripts/_aw0746-stage6-aml.mjs +177 -0
- package/scripts/_aw0746-stage6b-train-sweep.mjs +142 -0
- package/scripts/_aw0746-stage7-twin.mjs +259 -0
- package/scripts/_aw0746-train-strong.py +142 -0
- package/scripts/_dbg-comm-verify.mjs +188 -0
- package/scripts/_dbg-full-feature-e2e.mjs +19 -11
- package/scripts/_dbg-im-e2e.mjs +169 -0
- package/scripts/_dbg-opt2-run.mjs +114 -0
- package/scripts/_dbg-opt2-setup.mjs +95 -0
- package/scripts/_dbg-param-map-e2e.ts +1 -1
- package/scripts/_dbg-param-map-rest-smoke.mjs +1 -1
- package/scripts/_dbg-real-scenario-e2e.mjs +246 -0
- package/scripts/_dbg-schedule-e2e.mjs +262 -0
- package/scripts/_dbg-schedule-ui-verify.mjs +115 -0
- package/scripts/_dbg-team-matrix.mjs +148 -0
- package/scripts/_dbg-ui-fullcrawl.mjs +91 -0
- package/scripts/_dbg-ui-static-audit.mjs +65 -0
- package/scripts/_dbg-write-lock-e2e.mjs +131 -0
- package/scripts/_plc-sim-detached.cjs +22 -0
- package/scripts/_probe-daq-omp-task.mjs +100 -0
- package/scripts/_probe-daq-scope-default.mjs +123 -0
- package/scripts/_probe-density.cjs +15 -0
- package/scripts/_probe-gate-model.mjs +34 -0
- package/scripts/_probe-model-eligibility.cjs +13 -0
- package/scripts/_probe-recipe-switch.mjs +92 -0
- package/scripts/_provision-injection-line.mjs +39 -0
- package/scripts/_run-matrix.ps1 +53 -0
- package/scripts/_run-real-injection-fifo-goals.mjs +367 -0
- package/scripts/acceptance-aml-db.ts +23 -0
- package/scripts/acceptance-aml-hybrid-live.mjs +94 -0
- package/scripts/acceptance-aml-hybrid-twin.ts +93 -0
- package/scripts/acceptance-hybrid-python.py +51 -0
- package/scripts/aml-ui-smoke.mjs +2 -0
- package/scripts/api-live-e2e.mjs +32 -7
- package/scripts/demo-group-chat-all-real.ts +279 -0
- package/scripts/demo-group-chat-omp-cases.ts +210 -0
- package/scripts/demo-group-chat-omp.ts +184 -0
- package/scripts/demo-group-chat-order.ts +197 -0
- package/scripts/e2e-agent-team.mjs +6 -4
- package/scripts/e2e-agentteam-chat.mjs +473 -0
- package/scripts/e2e-agentteam-real-triage.mjs +421 -0
- package/scripts/e2e-agentteam-task-flow-real.ts +443 -0
- package/scripts/e2e-aw-tui-global.mjs +8 -8
- package/scripts/e2e-channel-isolation.ts +5 -1
- package/scripts/e2e-closedloop/cleanup.mjs +27 -0
- package/scripts/e2e-closedloop/lib.mjs +109 -0
- package/scripts/e2e-closedloop/main.mjs +59 -0
- package/scripts/e2e-closedloop/scenarios-accounts.mjs +208 -0
- package/scripts/e2e-closedloop/scenarios-authz.mjs +190 -0
- package/scripts/e2e-closedloop/scenarios-daq-dcw.mjs +219 -0
- package/scripts/e2e-closedloop/scenarios-plugins.mjs +169 -0
- package/scripts/e2e-closedloop/state.mjs +10 -0
- package/scripts/e2e-crash-cycle.mjs +108 -0
- package/scripts/e2e-full-closedloop.mjs +6 -919
- package/scripts/e2e-hil-multi-user.mjs +307 -0
- package/scripts/e2e-hil-restart.mjs +339 -0
- package/scripts/e2e-hitl-live.mjs +336 -323
- package/scripts/e2e-lead-team-mgmt.ts +1 -1
- package/scripts/e2e-memory-system.ts +70 -89
- package/scripts/e2e-multiharness-team.mjs +32 -15
- package/scripts/e2e-omp-workspace.ts +21 -6
- package/scripts/e2e-parallel-execution.mjs +20 -6
- package/scripts/e2e-plc-plugin-closedloop.mjs +96 -65
- package/scripts/e2e-rest-memory.mjs +26 -11
- package/scripts/e2e-resume-crash.mjs +22 -7
- package/scripts/e2e-task-queue.ts +8 -8
- package/scripts/e2e-template-isolation.mjs +4 -2
- package/scripts/proof-omp-real.ts +189 -0
- package/scripts/real-injection-closed-loop.mjs +383 -0
- package/scripts/test-agent-runtime.ts +5 -1
- package/scripts/test-agentteam-guardrails.ts +113 -0
- package/scripts/test-agentteam-task-chat-flow.ts +420 -0
- package/scripts/test-agentteam-workflow.ts +472 -0
- package/scripts/test-collab-e2e.mjs +17 -3
- package/scripts/test-dcw-read.ts +9 -2
- package/scripts/test-event-persistence.mjs +10 -2
- package/scripts/test-full-system.ts +16 -3
- package/scripts/test-group-chat-hardening.ts +265 -0
- package/scripts/test-group-chat-unit/lib.ts +186 -0
- package/scripts/test-group-chat-unit/main.ts +45 -0
- package/scripts/test-group-chat-unit/section-a-migration.ts +75 -0
- package/scripts/test-group-chat-unit/section-b-permission-matrix.ts +88 -0
- package/scripts/test-group-chat-unit/section-c-member-lifecycle.ts +64 -0
- package/scripts/test-group-chat-unit/section-d-mention-resolution.ts +36 -0
- package/scripts/test-group-chat-unit/section-e-chat-facts.ts +97 -0
- package/scripts/test-group-chat-unit/section-f-user-notifications.ts +52 -0
- package/scripts/test-group-chat-unit/section-g-member-projection.ts +44 -0
- package/scripts/test-group-chat-unit/section-h-outbox-consistency.ts +30 -0
- package/scripts/test-group-chat-unit/section-i-read-idempotency.ts +24 -0
- package/scripts/test-group-chat-unit/section-j-permission-scope.ts +150 -0
- package/scripts/test-group-chat-unit.ts +35 -0
- package/scripts/test-hitl-decision.ts +526 -0
- package/scripts/test-hitl-legacy-channel-auth.ts +143 -0
- package/scripts/test-lane-history-live.mjs +30 -7
- package/scripts/test-memory-vector.ts +10 -0
- package/scripts/test-orchestration.ts +7 -2
- package/scripts/test-persistence-lazy.ts +7 -1
- package/scripts/test-prompt-system.mjs +46 -20
- package/scripts/test-route-reason.mjs +9 -2
- package/scripts/test-schedule-runtime.ts +309 -0
- package/scripts/test-scheduler-loop/lib.ts +321 -0
- package/scripts/test-scheduler-loop/main.ts +40 -0
- package/scripts/test-scheduler-loop/scenarios-modes.ts +95 -0
- package/scripts/test-scheduler-loop/scenarios-runtime.ts +58 -0
- package/scripts/test-scheduler-loop/scenarios-supervise.ts +183 -0
- package/scripts/test-scheduler-loop/scenarios-triage.ts +102 -0
- package/scripts/test-scheduler-loop.ts +5 -460
- package/scripts/test-supervision-watchdog.ts +105 -0
- package/scripts/test-task-engine.ts +27 -5
- package/scripts/test-task-lease-fencing.ts +154 -0
- package/scripts/test-terminal-e2e.mjs +9 -3
- package/scripts/three-system-e2e/lib.mjs +79 -0
- package/scripts/three-system-e2e/main.mjs +40 -0
- package/scripts/three-system-e2e/phases/phase-0-user-token.mjs +42 -0
- package/scripts/three-system-e2e/phases/phase-0a2-line-autoselect.mjs +35 -0
- package/scripts/three-system-e2e/phases/phase-0b-fixture-grants.mjs +39 -0
- package/scripts/three-system-e2e/phases/phase-0c-plugin-outbound-auth.mjs +95 -0
- package/scripts/three-system-e2e/phases/stage-1-health.mjs +47 -0
- package/scripts/three-system-e2e/phases/stage-2-5-team-plugins.mjs +84 -0
- package/scripts/three-system-e2e/phases/stage-2-teams-tools-hitl.mjs +184 -0
- package/scripts/three-system-e2e/phases/stage-3-diag.mjs +73 -0
- package/scripts/three-system-e2e/phases/stage-4-plugin-toggle.mjs +53 -0
- package/scripts/three-system-e2e/state.mjs +87 -0
- package/scripts/three-system-e2e.mjs +24 -646
- package/scripts/typecheck.mjs +75 -0
- package/scripts/ui/lib.mjs +14 -2
- package/scripts/ui/smoke-refactor.mjs +258 -0
- package/scripts/verify-a2a-live.mjs +15 -1
- package/scripts/verify-ws-events.mjs +19 -1
- package/server/api/system/monitor/terminal/ws.ts +51 -1
- package/server/api/workshop/agent-tools/approvals/[id]/decide.post.ts +59 -5
- package/server/api/workshop/agent-tools/approvals/index.get.ts +28 -3
- package/server/api/workshop/channel-templates/[id]/instantiate.post.ts +6 -1
- package/server/api/workshop/channels/[id]/chat/messages/[messageId]/read.post.ts +22 -0
- package/server/api/workshop/channels/[id]/chat/messages/index.get.ts +29 -0
- package/server/api/workshop/channels/[id]/chat/messages/index.post.ts +51 -0
- package/server/api/workshop/channels/[id]/chat/permissions.get.ts +35 -0
- package/server/api/workshop/channels/[id]/index.patch.ts +34 -8
- package/server/api/workshop/channels/[id]/members/[userId]/approve.post.ts +20 -0
- package/server/api/workshop/channels/[id]/members/[userId].delete.ts +21 -0
- package/server/api/workshop/channels/[id]/members/index.get.ts +23 -0
- package/server/api/workshop/channels/[id]/members/join.post.ts +30 -0
- package/server/api/workshop/channels/[id]/members/leave.post.ts +20 -0
- package/server/api/workshop/channels/[id]/messages/index.post.ts +3 -0
- package/server/api/workshop/channels/[id]/tasks/index.post.ts +8 -0
- package/server/api/workshop/channels.get.ts +21 -1
- package/server/api/workshop/hitl/pending.get.ts +27 -7
- package/server/api/workshop/hitl/respond.post.ts +86 -89
- package/server/api/workshop/notifications/index.get.ts +60 -0
- package/server/api/workshop/notifications/read.post.ts +31 -0
- package/server/api/workshop/schedules/[id]/run.post.ts +15 -0
- package/server/api/workshop/schedules/[id]/runs.get.ts +15 -0
- package/server/api/workshop/schedules/[id].delete.ts +14 -0
- package/server/api/workshop/schedules/[id].get.ts +13 -0
- package/server/api/workshop/schedules/[id].patch.ts +29 -0
- package/server/api/workshop/schedules/index.get.ts +12 -0
- package/server/api/workshop/schedules/index.post.ts +32 -0
- package/server/api/workshop/tasks/[id]/reassign.post.ts +32 -0
- package/server/api/workshop/tasks/[id]/update.post.ts +35 -0
- package/server/api/workshop/tasks/[id].get.ts +15 -6
- package/server/api/workshop/ws/audience.ts +56 -0
- package/server/api/workshop/ws/db-buffer.ts +68 -0
- package/server/api/workshop/ws/event-mapping.ts +47 -0
- package/server/api/workshop/ws/handlers.ts +132 -0
- package/server/api/workshop/ws/hub.ts +133 -0
- package/server/api/workshop/ws/index.ts +23 -0
- package/server/api/workshop/ws/notification-uplink.ts +77 -0
- package/server/api/workshop/ws/peer-sub.ts +128 -0
- package/server/api/workshop/ws/publish.ts +122 -0
- package/server/api/workshop/ws/shared.ts +94 -0
- package/server/api/workshop/ws/streams.ts +146 -0
- package/server/api/workshop/ws/subscriptions.ts +137 -0
- package/server/plugins/workshop.ts +30 -0
- package/server/plugins-builtin/diag-bridge/host/constants.mjs +25 -0
- package/server/plugins-builtin/diag-bridge/host/diagnosis.mjs +56 -0
- package/server/plugins-builtin/diag-bridge/host/helpers.mjs +126 -0
- package/server/plugins-builtin/diag-bridge/host/index.mjs +15 -0
- package/server/plugins-builtin/diag-bridge/host/plugin.mjs +296 -0
- package/server/plugins-builtin/diag-bridge/host/snapshot.mjs +93 -0
- package/server/plugins-builtin/diag-bridge/host/sweep.mjs +51 -0
- package/server/plugins-builtin/diag-bridge/index.mjs +6 -605
- package/server/repositories/user.repository.ts +13 -0
- package/server/services/system-config/contracts.ts +29 -0
- package/server/services/system-config/dispose.ts +19 -0
- package/server/services/system-config/facade.ts +26 -0
- package/server/services/system-config/groups.ts +108 -0
- package/server/services/system-config/helpers.ts +41 -0
- package/server/services/system-config/index.ts +21 -0
- package/server/services/system-config/init.ts +26 -0
- package/server/services/system-config/mutate.ts +103 -0
- package/server/services/system-config/plugins.ts +104 -0
- package/server/services/system-config/recompute.ts +66 -0
- package/server/services/system-config/snapshot.ts +59 -0
- package/server/services/system-config/state.ts +79 -0
- package/server/services/system-config/types.ts +58 -0
- package/server/services/workshop/agents/adapters/line-spawn.ts +2 -2
- package/server/services/workshop/agents/adapters/omp-rpc-client/api.ts +111 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/contracts.ts +22 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/facade.ts +7 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/frames.ts +111 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/helpers.ts +38 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/index.ts +25 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/start.ts +70 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/state.ts +65 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/stdout.ts +92 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/types.ts +115 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/usage.ts +47 -0
- package/server/services/workshop/agents/agent-interface.ts +52 -4
- package/server/services/workshop/agents/base-agent.ts +36 -8
- package/server/services/workshop/agents/claude-agent.ts +5 -0
- package/server/services/workshop/agents/codex-agent/client.ts +170 -0
- package/server/services/workshop/agents/codex-agent/core.ts +119 -0
- package/server/services/workshop/agents/codex-agent/facade.ts +8 -0
- package/server/services/workshop/agents/codex-agent/helpers.ts +13 -0
- package/server/services/workshop/agents/codex-agent/hitl.ts +138 -0
- package/server/services/workshop/agents/codex-agent/index.ts +14 -0
- package/server/services/workshop/agents/codex-agent/turn.ts +367 -0
- package/server/services/workshop/agents/codex-agent/types.ts +42 -0
- package/server/services/workshop/agents/dsh-agent.ts +5 -0
- package/server/services/workshop/agents/harness-availability.ts +127 -127
- package/server/services/workshop/agents/harness-terminal/api.ts +197 -0
- package/server/services/workshop/agents/harness-terminal/index.ts +17 -0
- package/server/services/workshop/agents/harness-terminal/io.ts +120 -0
- package/server/services/workshop/agents/harness-terminal/park.ts +55 -0
- package/server/services/workshop/agents/harness-terminal/sanitize.ts +98 -0
- package/server/services/workshop/agents/harness-terminal/session.ts +124 -0
- package/server/services/workshop/agents/harness-terminal/shared.ts +74 -0
- package/server/services/workshop/agents/hermes-agent.ts +5 -0
- package/server/services/workshop/agents/hitl-capabilities.ts +312 -0
- package/server/services/workshop/agents/hitl-decision/answers.ts +27 -0
- package/server/services/workshop/agents/hitl-decision/decide.ts +268 -0
- package/server/services/workshop/agents/hitl-decision/dispatcher.ts +81 -0
- package/server/services/workshop/agents/hitl-decision/index.ts +24 -0
- package/server/services/workshop/agents/hitl-decision/payload.ts +45 -0
- package/server/services/workshop/agents/hitl-decision/reconcile.ts +70 -0
- package/server/services/workshop/agents/hitl-decision/shared.ts +106 -0
- package/server/services/workshop/agents/hitl-decision/visibility.ts +94 -0
- package/server/services/workshop/agents/hitl-registry.ts +403 -7
- package/server/services/workshop/agents/host-tool-bridge/catalog.ts +78 -0
- package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +167 -0
- package/server/services/workshop/agents/host-tool-bridge/index.ts +15 -0
- package/server/services/workshop/agents/host-tool-bridge/session.ts +22 -0
- package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +64 -0
- package/server/services/workshop/agents/host-tool-bridge/tools/memory.ts +44 -0
- package/server/services/workshop/agents/host-tool-bridge/tools/messaging.ts +182 -0
- package/server/services/workshop/agents/host-tool-bridge/tools/progress.ts +84 -0
- package/server/services/workshop/agents/host-tool-bridge/tools/tasks.ts +120 -0
- package/server/services/workshop/agents/host-tool-bridge/tools/team.ts +70 -0
- package/server/services/workshop/agents/host-tool-bridge/types.ts +31 -0
- package/server/services/workshop/agents/industrial/aml-dataset-tools.ts +276 -0
- package/server/services/workshop/agents/industrial/aml-job-tools.ts +363 -0
- package/server/services/workshop/agents/industrial/daq-tools.ts +251 -0
- package/server/services/workshop/agents/industrial/dcw-judge-tools.ts +153 -0
- package/server/services/workshop/agents/industrial/dcw-tools.ts +213 -0
- package/server/services/workshop/agents/industrial/index.ts +24 -0
- package/server/services/workshop/agents/industrial/ops-tools.ts +382 -0
- package/server/services/workshop/agents/industrial/param-tools.ts +172 -0
- package/server/services/workshop/agents/industrial/twin-tools.ts +250 -0
- package/server/services/workshop/agents/mock-agent.ts +136 -12
- package/server/services/workshop/agents/omp-agent/client.ts +116 -0
- package/server/services/workshop/agents/omp-agent/context-governance.ts +204 -0
- package/server/services/workshop/agents/omp-agent/core.ts +146 -0
- package/server/services/workshop/agents/omp-agent/event-mapping.ts +142 -0
- package/server/services/workshop/agents/omp-agent/facade.ts +8 -0
- package/server/services/workshop/agents/omp-agent/helpers.ts +37 -0
- package/server/services/workshop/agents/omp-agent/index.ts +16 -0
- package/server/services/workshop/agents/omp-agent/lifecycle.ts +80 -0
- package/server/services/workshop/agents/omp-agent/tools-steer.ts +487 -0
- package/server/services/workshop/agents/omp-agent/types.ts +45 -0
- package/server/services/workshop/agents/opencode-agent/core.ts +77 -0
- package/server/services/workshop/agents/opencode-agent/engine-agnostic.ts +274 -0
- package/server/services/workshop/agents/opencode-agent/facade.ts +8 -0
- package/server/services/workshop/agents/opencode-agent/helpers.ts +29 -0
- package/server/services/workshop/agents/opencode-agent/hitl.ts +113 -0
- package/server/services/workshop/agents/opencode-agent/index.ts +16 -0
- package/server/services/workshop/agents/opencode-agent/lifecycle.ts +44 -0
- package/server/services/workshop/agents/opencode-agent/server.ts +244 -0
- package/server/services/workshop/agents/opencode-agent/turn.ts +278 -0
- package/server/services/workshop/agents/opencode-agent/types.ts +54 -0
- package/server/services/workshop/agents/prompt-builder.ts +16 -6
- package/server/services/workshop/agents/qwen-agent.ts +6 -2
- package/server/services/workshop/agents/registry.ts +32 -2
- package/server/services/workshop/aml/job-orchestrator/broadcast.ts +37 -0
- package/server/services/workshop/aml/job-orchestrator/control.ts +94 -0
- package/server/services/workshop/aml/job-orchestrator/failure.ts +77 -0
- package/server/services/workshop/aml/job-orchestrator/index.ts +22 -0
- package/server/services/workshop/aml/job-orchestrator/process.ts +100 -0
- package/server/services/workshop/aml/job-orchestrator/shared.ts +51 -0
- package/server/services/workshop/aml/job-orchestrator/stages.ts +96 -0
- package/server/services/workshop/aml/job-orchestrator/start-job.ts +140 -0
- package/server/services/workshop/aml/job-orchestrator/status.ts +20 -0
- package/server/services/workshop/aml/job-orchestrator/submit.ts +120 -0
- package/server/services/workshop/aml/job-orchestrator/tick.ts +37 -0
- package/server/services/workshop/aml/python/__pycache__/amlkit.cpython-312.pyc +0 -0
- package/server/services/workshop/aml/python/amlkit.py +185 -120
- package/server/services/workshop/aml/python/requirements.txt +9 -7
- package/server/services/workshop/aml/python/train-hybrid-example.py +87 -0
- package/server/services/workshop/aml/twin/acceptance.ts +68 -0
- package/server/services/workshop/aml/twin/calibration-scheduler.ts +48 -0
- package/server/services/workshop/aml/twin/channel-profile.ts +43 -0
- package/server/services/workshop/aml/twin/contracts.ts +215 -0
- package/server/services/workshop/aml/twin/physics-runtime.ts +165 -0
- package/server/services/workshop/aml/twin/repo.ts +31 -0
- package/server/services/workshop/aml/twin/snapshot-service.ts +81 -0
- package/server/services/workshop/aml/twin/trial-service.ts +89 -0
- package/server/services/workshop/aml/twin/uq-ood.ts +66 -0
- package/server/services/workshop/daq/daq-controller/contracts.ts +39 -0
- package/server/services/workshop/daq/daq-controller/crud.ts +202 -0
- package/server/services/workshop/daq/daq-controller/driver-probe.ts +64 -0
- package/server/services/workshop/daq/daq-controller/facade.ts +28 -0
- package/server/services/workshop/daq/daq-controller/frames.ts +137 -0
- package/server/services/workshop/daq/daq-controller/helpers.ts +52 -0
- package/server/services/workshop/daq/daq-controller/index.ts +22 -0
- package/server/services/workshop/daq/daq-controller/ingest.ts +189 -0
- package/server/services/workshop/daq/daq-controller/runtime-control.ts +72 -0
- package/server/services/workshop/daq/daq-controller/state.ts +194 -0
- package/server/services/workshop/daq/daq-controller/sweep-alarms.ts +164 -0
- package/server/services/workshop/daq/daq-controller/tsdb-twin.ts +138 -0
- package/server/services/workshop/daq/daq-controller/types.ts +68 -0
- package/server/services/workshop/daq/daq-controller/views.ts +84 -0
- package/server/services/workshop/daq/drivers/http.ts +95 -0
- package/server/services/workshop/daq/drivers/index.ts +29 -0
- package/server/services/workshop/daq/drivers/mock.ts +130 -0
- package/server/services/workshop/daq/drivers/modbus-rtu.ts +67 -0
- package/server/services/workshop/daq/drivers/modbus-tcp.ts +307 -0
- package/server/services/workshop/daq/drivers/mqtt.ts +182 -0
- package/server/services/workshop/daq/drivers/opcua.ts +227 -0
- package/server/services/workshop/daq/drivers/registry.ts +144 -0
- package/server/services/workshop/daq/drivers/s7-stub.ts +29 -0
- package/server/services/workshop/daq/drivers/shared.ts +60 -0
- package/server/services/workshop/db/channel-member.repo.ts +122 -0
- package/server/services/workshop/db/channel.repo.ts +93 -8
- package/server/services/workshop/db/chat-message.repo.ts +233 -0
- package/server/services/workshop/db/database/index.ts +18 -0
- package/server/services/workshop/db/database/json.ts +14 -0
- package/server/services/workshop/db/database/migrations.ts +367 -0
- package/server/services/workshop/db/database/open.ts +76 -0
- package/server/services/workshop/db/database/rows.ts +374 -0
- package/server/services/workshop/db/database/schema.ts +651 -0
- package/server/services/workshop/db/database/seed-data.ts +60 -0
- package/server/services/workshop/db/database/seed.ts +145 -0
- package/server/services/workshop/db/hitl-request.repo.ts +221 -0
- package/server/services/workshop/db/notification.repo.ts +199 -0
- package/server/services/workshop/db/outbox.repo.ts +127 -0
- package/server/services/workshop/db/scheduled-task.repo.ts +235 -0
- package/server/services/workshop/db/schema.sql +185 -0
- package/server/services/workshop/db/task.repo.ts +185 -69
- package/server/services/workshop/db/transaction.ts +72 -0
- package/server/services/workshop/dcw/dcw-controller/actuation.ts +127 -0
- package/server/services/workshop/dcw/dcw-controller/bindings.ts +83 -0
- package/server/services/workshop/dcw/dcw-controller/contracts.ts +16 -0
- package/server/services/workshop/dcw/dcw-controller/control.ts +78 -0
- package/server/services/workshop/dcw/dcw-controller/crud.ts +152 -0
- package/server/services/workshop/dcw/dcw-controller/facade.ts +19 -0
- package/server/services/workshop/dcw/dcw-controller/helpers.ts +57 -0
- package/server/services/workshop/dcw/dcw-controller/index.ts +22 -0
- package/server/services/workshop/dcw/dcw-controller/lines.ts +213 -0
- package/server/services/workshop/dcw/dcw-controller/params.ts +97 -0
- package/server/services/workshop/dcw/dcw-controller/products.ts +103 -0
- package/server/services/workshop/dcw/dcw-controller/recipes.ts +137 -0
- package/server/services/workshop/dcw/dcw-controller/state.ts +66 -0
- package/server/services/workshop/dcw/dcw-controller/types.ts +57 -0
- package/server/services/workshop/dcw/dcw-controller/write.ts +147 -0
- package/server/services/workshop/dcw/dcw-node.ts +8 -0
- package/server/services/workshop/dcw/drivers/http.ts +66 -0
- package/server/services/workshop/dcw/drivers/index.ts +26 -0
- package/server/services/workshop/dcw/drivers/mock.ts +44 -0
- package/server/services/workshop/dcw/drivers/modbus-rtu.ts +93 -0
- package/server/services/workshop/dcw/drivers/modbus.ts +139 -0
- package/server/services/workshop/dcw/drivers/mqtt.ts +108 -0
- package/server/services/workshop/dcw/drivers/opcua.ts +110 -0
- package/server/services/workshop/dcw/drivers/registry.ts +118 -0
- package/server/services/workshop/dcw/drivers/shared.ts +113 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/contracts.ts +26 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/facade.ts +13 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/helpers.ts +30 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/index.ts +17 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/internal.ts +33 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/judge.ts +52 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/lock.ts +137 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/rollback.ts +190 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/state.ts +21 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/sweep.ts +77 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/types.ts +3 -0
- package/server/services/workshop/dcw/recipe-rollback-manager/views.ts +214 -0
- package/server/services/workshop/plugins/host/api.mjs +90 -0
- package/server/services/workshop/plugins/host/config.mjs +135 -0
- package/server/services/workshop/plugins/host/index.mjs +23 -0
- package/server/services/workshop/plugins/host/init.mjs +101 -0
- package/server/services/workshop/plugins/host/load.mjs +321 -0
- package/server/services/workshop/plugins/host/reload.mjs +94 -0
- package/server/services/workshop/plugins/host/rollback.mjs +72 -0
- package/server/services/workshop/plugins/host/services.mjs +58 -0
- package/server/services/workshop/plugins/host/state.mjs +54 -0
- package/server/services/workshop/plugins/host/toggle.mjs +64 -0
- package/server/services/workshop/plugins/host.mjs +6 -890
- package/server/services/workshop/runtime/agent-runtime/contracts.ts +25 -0
- package/server/services/workshop/runtime/agent-runtime/facade.ts +7 -0
- package/server/services/workshop/runtime/agent-runtime/helpers.ts +18 -0
- package/server/services/workshop/runtime/agent-runtime/index.ts +19 -0
- package/server/services/workshop/runtime/agent-runtime/lifecycle.ts +119 -0
- package/server/services/workshop/runtime/agent-runtime/message.ts +409 -0
- package/server/services/workshop/runtime/agent-runtime/state.ts +371 -0
- package/server/services/workshop/runtime/agent-runtime/supervise.ts +188 -0
- package/server/services/workshop/runtime/agent-runtime/types.ts +186 -0
- package/server/services/workshop/runtime/channel-runtime.ts +7 -0
- package/server/services/workshop/runtime/chat-mention.ts +164 -0
- package/server/services/workshop/runtime/chat-projection.ts +246 -0
- package/server/services/workshop/runtime/execution-mode.ts +11 -2
- package/server/services/workshop/runtime/manager/a2a.ts +283 -0
- package/server/services/workshop/runtime/manager/access.ts +483 -0
- package/server/services/workshop/runtime/manager/admin-agents.ts +268 -0
- package/server/services/workshop/runtime/manager/admin-channel.ts +276 -0
- package/server/services/workshop/runtime/manager/bus.ts +182 -0
- package/server/services/workshop/runtime/manager/channel-templates.ts +171 -0
- package/server/services/workshop/runtime/manager/chat-reply.ts +181 -0
- package/server/services/workshop/runtime/manager/chat.ts +384 -0
- package/server/services/workshop/runtime/manager/contracts.ts +210 -0
- package/server/services/workshop/runtime/manager/facade.ts +24 -0
- package/server/services/workshop/runtime/manager/helpers.ts +119 -0
- package/server/services/workshop/runtime/manager/host-tools.ts +249 -0
- package/server/services/workshop/runtime/manager/index.ts +42 -0
- package/server/services/workshop/runtime/manager/internal.ts +73 -0
- package/server/services/workshop/runtime/manager/lead-team.ts +161 -0
- package/server/services/workshop/runtime/manager/notifications.ts +108 -0
- package/server/services/workshop/runtime/manager/runtime-observe.ts +300 -0
- package/server/services/workshop/runtime/manager/runtime-wiring.ts +307 -0
- package/server/services/workshop/runtime/manager/schedules.ts +302 -0
- package/server/services/workshop/runtime/manager/state.ts +644 -0
- package/server/services/workshop/runtime/manager/tasks.ts +518 -0
- package/server/services/workshop/runtime/manager/teams.ts +148 -0
- package/server/services/workshop/runtime/manager/types.ts +245 -0
- package/server/services/workshop/runtime/manager/workspace.ts +136 -0
- package/server/services/workshop/runtime/memory/contracts.ts +18 -0
- package/server/services/workshop/runtime/memory/facade.ts +10 -0
- package/server/services/workshop/runtime/memory/governance.ts +184 -0
- package/server/services/workshop/runtime/memory/helpers.ts +196 -0
- package/server/services/workshop/runtime/memory/index.ts +27 -0
- package/server/services/workshop/runtime/memory/recall.ts +216 -0
- package/server/services/workshop/runtime/memory/score.ts +33 -0
- package/server/services/workshop/runtime/memory/state.ts +40 -0
- package/server/services/workshop/runtime/memory/types.ts +44 -0
- package/server/services/workshop/runtime/memory/write.ts +93 -0
- package/server/services/workshop/runtime/permission-scope.ts +81 -0
- package/server/services/workshop/runtime/schedule-runtime.ts +320 -0
- package/server/services/workshop/runtime/scheduler-loop/contracts.ts +29 -0
- package/server/services/workshop/runtime/scheduler-loop/execute.ts +295 -0
- package/server/services/workshop/runtime/scheduler-loop/facade.ts +7 -0
- package/server/services/workshop/runtime/scheduler-loop/helpers.ts +14 -0
- package/server/services/workshop/runtime/scheduler-loop/index.ts +16 -0
- package/server/services/workshop/runtime/scheduler-loop/rules.ts +131 -0
- package/server/services/workshop/runtime/scheduler-loop/snapshot.ts +99 -0
- package/server/services/workshop/runtime/scheduler-loop/state.ts +150 -0
- package/server/services/workshop/runtime/scheduler-loop/tick.ts +157 -0
- package/server/services/workshop/runtime/scheduler-loop/types.ts +50 -0
- package/server/services/workshop/runtime/task-engine/contracts.ts +16 -0
- package/server/services/workshop/runtime/task-engine/create.ts +145 -0
- package/server/services/workshop/runtime/task-engine/facade.ts +7 -0
- package/server/services/workshop/runtime/task-engine/helpers.ts +87 -0
- package/server/services/workshop/runtime/task-engine/index.ts +15 -0
- package/server/services/workshop/runtime/task-engine/lease.ts +79 -0
- package/server/services/workshop/runtime/task-engine/lifecycle.ts +308 -0
- package/server/services/workshop/runtime/task-engine/policy.ts +113 -0
- package/server/services/workshop/runtime/task-engine/transition.ts +146 -0
- package/server/services/workshop/runtime/task-engine/types.ts +3 -0
- package/server/services/workshop/runtime/task-engine/update.ts +116 -0
- package/server/services/workshop/runtime/task-engine/views.ts +169 -0
- package/server/services/workshop/runtime/user-notification-hub.ts +192 -0
- package/server/services/workshop/settings.ts +32 -0
- package/server/services/workshop/types/task.ts +85 -0
- package/server/utils/errors.ts +2 -0
- package/server/utils/mojibake-guard.ts +29 -0
- package/shared/config/schema.json +12 -0
- package/shared/dcw-protocol/catalog.ts +203 -0
- package/shared/dcw-protocol/closed-loop.ts +137 -0
- package/shared/dcw-protocol/index.ts +19 -0
- package/shared/dcw-protocol/line.ts +131 -0
- package/shared/dcw-protocol/recipe.ts +301 -0
- package/shared/workshop-protocol.ts +327 -5
- package/tui/aw-tui.mjs +27 -6
- package/tui/lib/pickers.mjs +21 -2
- package/.output/public/_nuxt/4sIEbgcl.js +0 -42
- package/.output/public/_nuxt/B7gZokg82.js +0 -209
- package/.output/public/_nuxt/B8uy9iRW.js +0 -1
- package/.output/public/_nuxt/BC9wjTJK2.js +0 -4
- package/.output/public/_nuxt/BCGafdXT.js +0 -2
- package/.output/public/_nuxt/BDmh31hl.js +0 -1
- package/.output/public/_nuxt/BFjGV-RV2.js +0 -4108
- package/.output/public/_nuxt/BGTYYQH-.js +0 -1
- package/.output/public/_nuxt/BHA40aHa.js +0 -1
- package/.output/public/_nuxt/BJHKLJJU.js +0 -1
- package/.output/public/_nuxt/BN6iuJEg2.js +0 -1
- package/.output/public/_nuxt/BU83-NnX.js +0 -106
- package/.output/public/_nuxt/BUmHEJ77.js +0 -2
- package/.output/public/_nuxt/BY7YrV_D.js +0 -1
- package/.output/public/_nuxt/BYhEUx8t.js +0 -17
- package/.output/public/_nuxt/BneN7fbu.js +0 -75
- package/.output/public/_nuxt/Bqcgz95s.js +0 -18
- package/.output/public/_nuxt/C3J6FYKa.js +0 -1
- package/.output/public/_nuxt/C3gwHTz0.js +0 -1
- package/.output/public/_nuxt/C4DWUZ6d2.js +0 -1
- package/.output/public/_nuxt/C7UlqPeD.js +0 -1
- package/.output/public/_nuxt/CClOy-Hz2.js +0 -1
- package/.output/public/_nuxt/CFxtLwjp.js +0 -1
- package/.output/public/_nuxt/CS50LB_l.js +0 -1
- package/.output/public/_nuxt/CSkxz2NX.js +0 -3
- package/.output/public/_nuxt/CTmDn-YP.js +0 -1
- package/.output/public/_nuxt/CWoJjWmZ.js +0 -1
- package/.output/public/_nuxt/CYWVXZTS2.js +0 -7
- package/.output/public/_nuxt/C__m4EhR.js +0 -1
- package/.output/public/_nuxt/CoNpEq5X.js +0 -1
- package/.output/public/_nuxt/Crod5z2f.js +0 -1
- package/.output/public/_nuxt/Cs8pVeVG.js +0 -1
- package/.output/public/_nuxt/CssgYAAL2.js +0 -1
- package/.output/public/_nuxt/CzlMDL5H.js +0 -13
- package/.output/public/_nuxt/D0ZBQrN_2.js +0 -1
- package/.output/public/_nuxt/D6uzXueg.js +0 -2
- package/.output/public/_nuxt/D98NH8kG.js +0 -1
- package/.output/public/_nuxt/D9Oidm5I.js +0 -1
- package/.output/public/_nuxt/DBHNsT1Y.js +0 -23
- package/.output/public/_nuxt/DDgJcSET.js +0 -19
- package/.output/public/_nuxt/DGIuvyRN2.js +0 -1
- package/.output/public/_nuxt/DGj-WEBg.js +0 -1
- package/.output/public/_nuxt/DHFrCUxA2.js +0 -13
- package/.output/public/_nuxt/DIaZ2PTo2.js +0 -1
- package/.output/public/_nuxt/DKySmNPI.js +0 -14
- package/.output/public/_nuxt/DPnwL14Y.js +0 -1
- package/.output/public/_nuxt/DR12_WCA.js +0 -3
- package/.output/public/_nuxt/DTFCy6h-.js +0 -1
- package/.output/public/_nuxt/DYr1VMiQ.js +0 -6
- package/.output/public/_nuxt/DZtm4l-P2.js +0 -1
- package/.output/public/_nuxt/DdD9mCHM.js +0 -1
- package/.output/public/_nuxt/DeyBFhKH2.js +0 -4
- package/.output/public/_nuxt/Di0NY_ht.js +0 -1
- package/.output/public/_nuxt/DkGQ7lnb2.js +0 -1
- package/.output/public/_nuxt/DtYHUi5Z.js +0 -1
- package/.output/public/_nuxt/Dz_Q3Lpw2.js +0 -1
- package/.output/public/_nuxt/DzbFpZRk.js +0 -3
- package/.output/public/_nuxt/EHlEMRii.js +0 -1
- package/.output/public/_nuxt/Eke1fs-U.js +0 -1
- package/.output/public/_nuxt/H0BcqZtT.js +0 -9
- package/.output/public/_nuxt/HSYEkkce.js +0 -1
- package/.output/public/_nuxt/IREZ1eC2.js +0 -1
- package/.output/public/_nuxt/J9oU00D1.js +0 -1
- package/.output/public/_nuxt/JCoYF4IJ.js +0 -31
- package/.output/public/_nuxt/JTLM-kqr2.js +0 -1
- package/.output/public/_nuxt/KZQX7xoM.js +0 -3
- package/.output/public/_nuxt/OmpTerminalPanel.BxR5-lvi.css +0 -1
- package/.output/public/_nuxt/RYFtK4qZ2.js +0 -1
- package/.output/public/_nuxt/SSyAPaHc.js +0 -1
- package/.output/public/_nuxt/TownView.li4EMQxK.css +0 -1
- package/.output/public/_nuxt/VdLk4jLE2.js +0 -1
- package/.output/public/_nuxt/YnQxK3eG.js +0 -1
- package/.output/public/_nuxt/_id_.BhsXoEuk.css +0 -1
- package/.output/public/_nuxt/_id_.DQyj-WKN.css +0 -1
- package/.output/public/_nuxt/_wsId_.CTx-BlfF.css +0 -1
- package/.output/public/_nuxt/aLLjF2K-2.js +0 -1
- package/.output/public/_nuxt/aShsv_rG.js +0 -19
- package/.output/public/_nuxt/aWWIh8YL.js +0 -24
- package/.output/public/_nuxt/aesgXKSr.js +0 -4
- package/.output/public/_nuxt/agents.B21nUEUX.css +0 -1
- package/.output/public/_nuxt/aml.ekTjxFkf.css +0 -1
- package/.output/public/_nuxt/builds/meta/b5506ef0-f48e-4f14-a6c0-d65e505d0b09.json +0 -1
- package/.output/public/_nuxt/ca4TJ3Op.js +0 -1
- package/.output/public/_nuxt/daq.BdVmoIfe.css +0 -1
- package/.output/public/_nuxt/dcw.DCgyzpWV.css +0 -1
- package/.output/public/_nuxt/default.Bh3L2HU8.css +0 -1
- package/.output/public/_nuxt/entry.bdm0tv6M.css +0 -1
- package/.output/public/_nuxt/jZsY8yYz.js +0 -1
- package/.output/public/_nuxt/lHAxdSsj.js +0 -1
- package/.output/public/_nuxt/logs.BpKzmKsh.css +0 -1
- package/.output/public/_nuxt/monitor.D9pe7qN6.css +0 -1
- package/.output/public/_nuxt/pages.j9rzRocr.css +0 -1
- package/.output/public/_nuxt/pdk8jLGT.js +0 -1
- package/.output/public/_nuxt/permissions.DwTVlFe6.css +0 -1
- package/.output/public/_nuxt/plugins.DhiZbHU8.css +0 -1
- package/.output/public/_nuxt/settings.BRx9rIDg.css +0 -1
- package/.output/public/_nuxt/teams.BLlOPB_Z.css +0 -1
- package/.output/public/_nuxt/tokens.De8xzszn.css +0 -1
- package/.output/public/_nuxt/town.BLrD9-WH.css +0 -1
- package/.output/public/_nuxt/users.DLgZ1D0h.css +0 -1
- package/.output/public/_nuxt/vRTjoWqd.js +0 -1
- package/.output/public/_nuxt/workshop.D1jFNkrn.css +0 -1
- package/.output/public/_nuxt/xh3_vYcu.js +0 -1
- package/.output/public/_nuxt/zq5t1vyX.js +0 -1
- package/.output/server/chunks/build/Checkbox-eax2M3o-.mjs +0 -207
- package/.output/server/chunks/build/Checkbox-eax2M3o-.mjs.map +0 -1
- package/.output/server/chunks/build/OmpTerminalPanel-CVvxpsF7.mjs +0 -915
- package/.output/server/chunks/build/OmpTerminalPanel-CVvxpsF7.mjs.map +0 -1
- package/.output/server/chunks/build/PluginSlot-CcR4Ys3T.mjs +0 -400
- package/.output/server/chunks/build/PluginSlot-CcR4Ys3T.mjs.map +0 -1
- package/.output/server/chunks/build/TownView-CJ6IsDCc.mjs +0 -2791
- package/.output/server/chunks/build/TownView-CJ6IsDCc.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-CVD_H0ir.mjs +0 -804
- package/.output/server/chunks/build/_id_-CVD_H0ir.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-CtxMb3qp.mjs +0 -381
- package/.output/server/chunks/build/_id_-CtxMb3qp.mjs.map +0 -1
- package/.output/server/chunks/build/_wsId_-DpY3T-md.mjs +0 -10136
- package/.output/server/chunks/build/_wsId_-DpY3T-md.mjs.map +0 -1
- package/.output/server/chunks/build/agents-DsCkuXDV.mjs +0 -1114
- package/.output/server/chunks/build/agents-DsCkuXDV.mjs.map +0 -1
- package/.output/server/chunks/build/aml-CT0xKGKI.mjs +0 -605
- package/.output/server/chunks/build/aml-CT0xKGKI.mjs.map +0 -1
- package/.output/server/chunks/build/api-error-dul30BYQ.mjs +0 -47
- package/.output/server/chunks/build/api-error-dul30BYQ.mjs.map +0 -1
- package/.output/server/chunks/build/apiClient-BwnfOQU8.mjs +0 -81
- package/.output/server/chunks/build/apiClient-BwnfOQU8.mjs.map +0 -1
- package/.output/server/chunks/build/button-DEcZFcqN.mjs +0 -1938
- package/.output/server/chunks/build/button-DEcZFcqN.mjs.map +0 -1
- package/.output/server/chunks/build/card-Dipvaykh.mjs +0 -955
- package/.output/server/chunks/build/card-Dipvaykh.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-Dla9FbYa.mjs +0 -847
- package/.output/server/chunks/build/channel-templates-Dla9FbYa.mjs.map +0 -1
- package/.output/server/chunks/build/checkbox-8fB-wI-T.mjs +0 -439
- package/.output/server/chunks/build/checkbox-8fB-wI-T.mjs.map +0 -1
- package/.output/server/chunks/build/client-only-D5BzSQc6.mjs +0 -43
- package/.output/server/chunks/build/client-only-D5BzSQc6.mjs.map +0 -1
- package/.output/server/chunks/build/daq-DWWSKGAV.mjs +0 -1059
- package/.output/server/chunks/build/daq-DWWSKGAV.mjs.map +0 -1
- package/.output/server/chunks/build/dcw-CT8k17_E.mjs +0 -250
- package/.output/server/chunks/build/dcw-CT8k17_E.mjs.map +0 -1
- package/.output/server/chunks/build/default-D3525UFX.mjs +0 -1487
- package/.output/server/chunks/build/default-D3525UFX.mjs.map +0 -1
- package/.output/server/chunks/build/drawer-Cmh90erI.mjs +0 -836
- package/.output/server/chunks/build/drawer-Cmh90erI.mjs.map +0 -1
- package/.output/server/chunks/build/dropdown-CGQ0KAzA.mjs +0 -14
- package/.output/server/chunks/build/dropdown-CGQ0KAzA.mjs.map +0 -1
- package/.output/server/chunks/build/dropdown-vhn1NPFs.mjs +0 -558
- package/.output/server/chunks/build/dropdown-vhn1NPFs.mjs.map +0 -1
- package/.output/server/chunks/build/initDefaultProps-DIbWwP4R.mjs +0 -21
- package/.output/server/chunks/build/initDefaultProps-DIbWwP4R.mjs.map +0 -1
- package/.output/server/chunks/build/input-number-DzpyYB99.mjs +0 -1521
- package/.output/server/chunks/build/input-number-DzpyYB99.mjs.map +0 -1
- package/.output/server/chunks/build/input-sf_BT6o6.mjs +0 -2617
- package/.output/server/chunks/build/input-sf_BT6o6.mjs.map +0 -1
- package/.output/server/chunks/build/logs--dByNyhw.mjs +0 -198
- package/.output/server/chunks/build/logs--dByNyhw.mjs.map +0 -1
- package/.output/server/chunks/build/menu-WCrlpYVh.mjs +0 -1950
- package/.output/server/chunks/build/menu-WCrlpYVh.mjs.map +0 -1
- package/.output/server/chunks/build/modal-yvUquPj5.mjs +0 -1272
- package/.output/server/chunks/build/modal-yvUquPj5.mjs.map +0 -1
- package/.output/server/chunks/build/monitor-Dh2Kvaq5.mjs +0 -2212
- package/.output/server/chunks/build/monitor-Dh2Kvaq5.mjs.map +0 -1
- package/.output/server/chunks/build/pages-BHcSBM2D.mjs +0 -518
- package/.output/server/chunks/build/pages-BHcSBM2D.mjs.map +0 -1
- package/.output/server/chunks/build/permissions-68SsNjex.mjs +0 -629
- package/.output/server/chunks/build/permissions-68SsNjex.mjs.map +0 -1
- package/.output/server/chunks/build/plugins-BNgIi61W.mjs +0 -246
- package/.output/server/chunks/build/plugins-BNgIi61W.mjs.map +0 -1
- package/.output/server/chunks/build/popconfirm-CRaHcz5O.mjs +0 -342
- package/.output/server/chunks/build/popconfirm-CRaHcz5O.mjs.map +0 -1
- package/.output/server/chunks/build/segmented-3TrWo0lS.mjs +0 -5047
- package/.output/server/chunks/build/segmented-3TrWo0lS.mjs.map +0 -1
- package/.output/server/chunks/build/select-D-CeE5vY.mjs +0 -3923
- package/.output/server/chunks/build/select-D-CeE5vY.mjs.map +0 -1
- package/.output/server/chunks/build/settings-ipYBDWdn.mjs +0 -1175
- package/.output/server/chunks/build/settings-ipYBDWdn.mjs.map +0 -1
- package/.output/server/chunks/build/space-CCBYAkXt.mjs +0 -197
- package/.output/server/chunks/build/space-CCBYAkXt.mjs.map +0 -1
- package/.output/server/chunks/build/spin-HVY81X_L.mjs +0 -358
- package/.output/server/chunks/build/spin-HVY81X_L.mjs.map +0 -1
- package/.output/server/chunks/build/switch-CelRXpcy.mjs +0 -377
- package/.output/server/chunks/build/switch-CelRXpcy.mjs.map +0 -1
- package/.output/server/chunks/build/table-BjSWwmic.mjs +0 -8883
- package/.output/server/chunks/build/table-BjSWwmic.mjs.map +0 -1
- package/.output/server/chunks/build/tabs-BM3tAh_J.mjs +0 -1925
- package/.output/server/chunks/build/tabs-BM3tAh_J.mjs.map +0 -1
- package/.output/server/chunks/build/tag-DNE9vXc0.mjs +0 -1029
- package/.output/server/chunks/build/tag-DNE9vXc0.mjs.map +0 -1
- package/.output/server/chunks/build/teams-5lx-CwFa.mjs +0 -1218
- package/.output/server/chunks/build/teams-5lx-CwFa.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-q-IDT8Io.mjs +0 -908
- package/.output/server/chunks/build/tokens-q-IDT8Io.mjs.map +0 -1
- package/.output/server/chunks/build/town-BUqRobze.mjs +0 -52
- package/.output/server/chunks/build/town-BUqRobze.mjs.map +0 -1
- package/.output/server/chunks/build/town-QJWB5wng.mjs +0 -125
- package/.output/server/chunks/build/town-QJWB5wng.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqStream-DfCFpb3p.mjs +0 -395
- package/.output/server/chunks/build/useDaqStream-DfCFpb3p.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwStream-UPiX-3iO.mjs +0 -435
- package/.output/server/chunks/build/useDcwStream-UPiX-3iO.mjs.map +0 -1
- package/.output/server/chunks/build/useDeviceTwins-Yko6nNPF.mjs +0 -128
- package/.output/server/chunks/build/useDeviceTwins-Yko6nNPF.mjs.map +0 -1
- package/.output/server/chunks/build/useOpsLog-CO_VWh7t.mjs +0 -137
- package/.output/server/chunks/build/useOpsLog-CO_VWh7t.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopApi-NyjL0L3j.mjs +0 -90
- package/.output/server/chunks/build/useWorkshopApi-NyjL0L3j.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopWs-C_I7q9As.mjs +0 -1319
- package/.output/server/chunks/build/useWorkshopWs-C_I7q9As.mjs.map +0 -1
- package/.output/server/chunks/build/users-Cfd5-l2-.mjs +0 -561
- package/.output/server/chunks/build/users-Cfd5-l2-.mjs.map +0 -1
- package/.output/server/chunks/build/workshop-BIlCj_ZP.mjs +0 -931
- package/.output/server/chunks/build/workshop-BIlCj_ZP.mjs.map +0 -1
- package/.output/server/chunks/build/workspaces-Bgz5Ekwp.mjs +0 -139
- package/.output/server/chunks/build/workspaces-Bgz5Ekwp.mjs.map +0 -1
- package/scripts/test-agent-brain.ts +0 -135
- package/scripts/test-game-session.ts +0 -160
- package/scripts/test-protocol.ts +0 -156
- package/scripts/verify-game.mjs +0 -477
- package/server/api/workshop/ws.ts +0 -763
- package/server/services/system-config.ts +0 -629
- package/server/services/workshop/agents/adapters/omp-rpc-client.ts +0 -604
- package/server/services/workshop/agents/codex-agent.ts +0 -743
- package/server/services/workshop/agents/harness-terminal.ts +0 -625
- package/server/services/workshop/agents/host-tool-bridge.ts +0 -714
- package/server/services/workshop/agents/industrial-tools.ts +0 -1680
- package/server/services/workshop/agents/omp-agent.ts +0 -1199
- package/server/services/workshop/agents/opencode-agent.ts +0 -960
- package/server/services/workshop/aml/job-orchestrator.ts +0 -639
- package/server/services/workshop/daq/daq-controller.ts +0 -1284
- package/server/services/workshop/daq/drivers.ts +0 -1196
- package/server/services/workshop/db/database.ts +0 -1044
- package/server/services/workshop/dcw/dcw-controller.ts +0 -1176
- package/server/services/workshop/dcw/drivers.ts +0 -731
- package/server/services/workshop/dcw/recipe-rollback-manager.ts +0 -713
- package/server/services/workshop/runtime/agent-runtime.ts +0 -821
- package/server/services/workshop/runtime/manager.ts +0 -3050
- package/server/services/workshop/runtime/memory.ts +0 -681
- package/server/services/workshop/runtime/scheduler-loop.ts +0 -799
- package/server/services/workshop/runtime/task-engine.ts +0 -574
- package/shared/dcw-protocol.ts +0 -747
- /package/.output/public/_nuxt/{BrIJiJSN.js → BrIJiJSN2.js} +0 -0
- /package/.output/public/_nuxt/{CNs_Ozdc2.js → CNs_Ozdc.js} +0 -0
- /package/.output/public/_nuxt/{DIOBYJe3.js → DIOBYJe32.js} +0 -0
- /package/.output/public/_nuxt/{lO5tpDZ5.js → lO5tpDZ52.js} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{E as e,N as t,O as n,S as r,dt as i,ft as a,g as o,mt as s,p as c,u as l,v as u}from"./CavpkQb0.js";import{B as d,D as f,J as p,K as m,P as h,Q as g,R as _,S as v,V as y,W as b,b as x,d as S,et as C,f as w,h as T,i as E,j as D,k as O,m as k,nt as A,p as j,rt as M,s as N,u as P,v as F,y as I,z as L}from"./ByMj6e7s.js";import{c as R,d as z,l as B,t as V,u as H}from"./Dqz5HiXa.js";import{d as U}from"./Br3AySNQ.js";import{n as W}from"./DkpmSnHX.js";import{n as G}from"./Cnrmlixo.js";import{t as K}from"./DJyNDnag.js";import{t as ee}from"./RAqsw632.js";import{$ as te,Ct as ne,E as re,Mt as q,O as ie,Q as ae,Tt as oe,Y as se,Z as ce,at as le,d as ue,et as de,h as fe,j as pe,jt as J,lt as me,m as he,mt as ge,n as _e,nt as ve,ot as ye,t as be,tt as xe,u as Se}from"./C2YYOgMe.js";import{C as Ce,D as we,mt as Te,t as Ee}from"./Bub2P5me.js";import{H as De,O as Oe,a as Y,c as ke,k as Ae,m as je,mt as Me,n as Ne,ut as Pe}from"./wDPc4SSR.js";import{n as Fe,t as Ie}from"./DLPuRMeG.js";import{a as Le,i as Re,t as ze}from"./eutnXI4F.js";import{i as Be,n as Ve,r as He,t as Ue}from"./CAaSPBqk.js";import{i as We,n as Ge,r as Ke,t as qe}from"./BmiMC_BC.js";import{t as Je}from"./bt__BP-I.js";import{n as Ye,r as Xe,t as Ze}from"./B_9_BM9G.js";import{t as Qe}from"./B2x8SKRO.js";import{t as $e}from"./lO5tpDZ52.js";import{t as et}from"./CtPNnATm2.js";import{t as tt}from"./CPeZNE4S2.js";import{t as nt}from"./C_VAXV7I2.js";import{n as rt,t as it}from"./ZvXovq7N2.js";import{t as at}from"./Dq0emNZi2.js";import{t as ot}from"./CD9lpEz22.js";import{t as st}from"./DzBbYWrw2.js";import{t as ct}from"./DqtnqNgL2.js";import{t as lt}from"./CfLUvgr32.js";import{t as ut}from"./fxWyOzyp2.js";import{t as X}from"./BDNMzG2s2.js";import{t as dt}from"./DlUQa0wn2.js";import{c as ft,i as pt,l as mt,n as ht,o as Z,r as gt,s as _t,t as vt,u as yt}from"./DqtgGFEc.js";import{t as bt}from"./H6pPjo0l.js";import{t as Q}from"./JgheoP3e.js";import{t as xt}from"./DeYsUzhr.js";import{t as St}from"./CNs_Ozdc.js";import{t as $}from"./BWU1pvLL.js";import{t as Ct}from"./uI9Ki_XZ.js";import{t as wt}from"./DGw8juu_.js";import{t as Tt}from"./CT-vTjcG.js";import{t as Et}from"./Cu8c3oMN2.js";import{t as Dt}from"./BS9P_Ies2.js";import{t as Ot}from"./Cm_PTn9t2.js";import{t as kt}from"./DNno23Jf2.js";function At(e){let{prefixCls:t,value:n,current:r,offset:i=0}=e,a;return i&&(a={position:`absolute`,top:`${i}00%`,left:0}),x(`p`,{style:a,class:oe(`${t}-only-unit`,{current:r})},[n])}function jt(e,t,n){let r=e,i=0;for(;(r+10)%10!==t;)r+=n,i+=n;return i}var Mt=v({compatConfig:{MODE:3},name:`SingleNumber`,props:{prefixCls:String,value:String,count:Number},setup(e){let t=S(()=>Number(e.value)),n=S(()=>Math.abs(e.count)),r=o({prevValue:t.value,prevCount:n.value}),i=()=>{r.prevValue=t.value,r.prevCount=n.value},a=u();return C(t,()=>{clearTimeout(a.value),a.value=setTimeout(()=>{i()},1e3)},{flush:`post`}),L(()=>{clearTimeout(a.value)}),()=>{let a,o={},s=t.value;if(r.prevValue===s||Number.isNaN(s)||Number.isNaN(r.prevValue))a=[At(J(J({},e),{current:!0}))],o={transition:`none`};else{a=[];let t=s+10,i=[];for(let e=s;e<=t;e+=1)i.push(e);let c=i.findIndex(e=>e%10===r.prevValue);a=i.map((t,n)=>{let r=t%10;return At(J(J({},e),{value:r,offset:n-c,current:n===c}))});let l=r.prevCount<n.value?1:-1;o={transform:`translateY(${-jt(r.prevValue,s,l)}00%)`}}return x(`span`,{class:`${e.prefixCls}-only`,style:o,onTransitionend:()=>i()},[a])}}}),Nt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Pt={prefixCls:String,count:be.any,component:String,title:be.any,show:Boolean},Ft=v({compatConfig:{MODE:3},name:`ScrollNumber`,inheritAttrs:!1,props:Pt,setup(e,t){let{attrs:n,slots:r}=t,{prefixCls:i}=_e(`scroll-number`,e);return()=>{let t=J(J({},e),n),{prefixCls:a,count:o,title:s,show:c,component:l=`sup`,class:u,style:d}=t,f=Nt(t,[`prefixCls`,`count`,`title`,`show`,`component`,`class`,`style`]),p=J(J({},f),{style:d,"data-show":e.show,class:oe(i.value,u),title:s}),m=o;if(o&&Number(o)%1==0){let e=String(o).split(``);m=e.map((t,n)=>x(Mt,{prefixCls:i.value,count:Number(o),value:t,key:e.length-n},null))}d&&d.borderColor&&(p.style=J(J({},d),{boxShadow:`0 0 0 1px ${d.borderColor} inset`}));let h=ye(r.default?.call(r));return h&&h.length?Pe(h,{class:oe(`${i.value}-custom-component`)},!1):x(l,p,{default:()=>[m]})}}}),It=new ie(`antStatusProcessing`,{"0%":{transform:`scale(0.8)`,opacity:.5},"100%":{transform:`scale(2.4)`,opacity:0}}),Lt=new ie(`antZoomBadgeIn`,{"0%":{transform:`scale(0) translate(50%, -50%)`,opacity:0},"100%":{transform:`scale(1) translate(50%, -50%)`}}),Rt=new ie(`antZoomBadgeOut`,{"0%":{transform:`scale(1) translate(50%, -50%)`},"100%":{transform:`scale(0) translate(50%, -50%)`,opacity:0}}),zt=new ie(`antNoWrapperZoomBadgeIn`,{"0%":{transform:`scale(0)`,opacity:0},"100%":{transform:`scale(1)`}}),Bt=new ie(`antNoWrapperZoomBadgeOut`,{"0%":{transform:`scale(1)`},"100%":{transform:`scale(0)`,opacity:0}}),Vt=new ie(`antBadgeLoadingCircle`,{"0%":{transformOrigin:`50%`},"100%":{transform:`translate(50%, -50%) rotate(360deg)`,transformOrigin:`50%`}}),Ht=e=>{let{componentCls:t,iconCls:n,antCls:r,badgeFontHeight:i,badgeShadowSize:a,badgeHeightSm:o,motionDurationSlow:s,badgeStatusSize:c,marginXS:l,badgeRibbonOffset:u}=e,d=`${r}-scroll-number`,f=`${r}-ribbon`,p=`${r}-ribbon-wrapper`,m=Te(e,(e,n)=>{let{darkColor:r}=n;return{[`&${t} ${t}-color-${e}`]:{background:r,[`&:not(${t}-count)`]:{color:r}}}}),h=Te(e,(e,t)=>{let{darkColor:n}=t;return{[`&${f}-color-${e}`]:{background:n,color:n}}});return{[t]:J(J(J(J({},fe(e)),{position:`relative`,display:`inline-block`,width:`fit-content`,lineHeight:1,[`${t}-count`]:{zIndex:e.badgeZIndex,minWidth:e.badgeHeight,height:e.badgeHeight,color:e.badgeTextColor,fontWeight:e.badgeFontWeight,fontSize:e.badgeFontSize,lineHeight:`${e.badgeHeight}px`,whiteSpace:`nowrap`,textAlign:`center`,background:e.badgeColor,borderRadius:e.badgeHeight/2,boxShadow:`0 0 0 ${a}px ${e.badgeShadowColor}`,transition:`background ${e.motionDurationMid}`,a:{color:e.badgeTextColor},"a:hover":{color:e.badgeTextColor},"a:hover &":{background:e.badgeColorHover}},[`${t}-count-sm`]:{minWidth:o,height:o,fontSize:e.badgeFontSizeSm,lineHeight:`${o}px`,borderRadius:o/2},[`${t}-multiple-words`]:{padding:`0 ${e.paddingXS}px`},[`${t}-dot`]:{zIndex:e.badgeZIndex,width:e.badgeDotSize,minWidth:e.badgeDotSize,height:e.badgeDotSize,background:e.badgeColor,borderRadius:`100%`,boxShadow:`0 0 0 ${a}px ${e.badgeShadowColor}`},[`${t}-dot${d}`]:{transition:`background ${s}`},[`${t}-count, ${t}-dot, ${d}-custom-component`]:{position:`absolute`,top:0,insetInlineEnd:0,transform:`translate(50%, -50%)`,transformOrigin:`100% 0%`,[`&${n}-spin`]:{animationName:Vt,animationDuration:`1s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`}},[`&${t}-status`]:{lineHeight:`inherit`,verticalAlign:`baseline`,[`${t}-status-dot`]:{position:`relative`,top:-1,display:`inline-block`,width:c,height:c,verticalAlign:`middle`,borderRadius:`50%`},[`${t}-status-success`]:{backgroundColor:e.colorSuccess},[`${t}-status-processing`]:{overflow:`visible`,color:e.colorPrimary,backgroundColor:e.colorPrimary,"&::after":{position:`absolute`,top:0,insetInlineStart:0,width:`100%`,height:`100%`,borderWidth:a,borderStyle:`solid`,borderColor:`inherit`,borderRadius:`50%`,animationName:It,animationDuration:e.badgeProcessingDuration,animationIterationCount:`infinite`,animationTimingFunction:`ease-in-out`,content:`""`}},[`${t}-status-default`]:{backgroundColor:e.colorTextPlaceholder},[`${t}-status-error`]:{backgroundColor:e.colorError},[`${t}-status-warning`]:{backgroundColor:e.colorWarning},[`${t}-status-text`]:{marginInlineStart:l,color:e.colorText,fontSize:e.fontSize}}}),m),{[`${t}-zoom-appear, ${t}-zoom-enter`]:{animationName:Lt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack,animationFillMode:`both`},[`${t}-zoom-leave`]:{animationName:Rt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack,animationFillMode:`both`},[`&${t}-not-a-wrapper`]:{[`${t}-zoom-appear, ${t}-zoom-enter`]:{animationName:zt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack},[`${t}-zoom-leave`]:{animationName:Bt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack},[`&:not(${t}-status)`]:{verticalAlign:`middle`},[`${d}-custom-component, ${t}-count`]:{transform:`none`},[`${d}-custom-component, ${d}`]:{position:`relative`,top:`auto`,display:`block`,transformOrigin:`50% 50%`}},[`${d}`]:{overflow:`hidden`,[`${d}-only`]:{position:`relative`,display:`inline-block`,height:e.badgeHeight,transition:`all ${e.motionDurationSlow} ${e.motionEaseOutBack}`,WebkitTransformStyle:`preserve-3d`,WebkitBackfaceVisibility:`hidden`,[`> p${d}-only-unit`]:{height:e.badgeHeight,margin:0,WebkitTransformStyle:`preserve-3d`,WebkitBackfaceVisibility:`hidden`}},[`${d}-symbol`]:{verticalAlign:`top`}},"&-rtl":{direction:`rtl`,[`${t}-count, ${t}-dot, ${d}-custom-component`]:{transform:`translate(-50%, -50%)`}}}),[`${p}`]:{position:`relative`},[`${f}`]:J(J(J(J({},fe(e)),{position:`absolute`,top:l,padding:`0 ${e.paddingXS}px`,color:e.colorPrimary,lineHeight:`${i}px`,whiteSpace:`nowrap`,backgroundColor:e.colorPrimary,borderRadius:e.borderRadiusSM,[`${f}-text`]:{color:e.colorTextLightSolid},[`${f}-corner`]:{position:`absolute`,top:`100%`,width:u,height:u,color:`currentcolor`,border:`${u/2}px solid`,transform:e.badgeRibbonCornerTransform,transformOrigin:`top`,filter:e.badgeRibbonCornerFilter}}),h),{[`&${f}-placement-end`]:{insetInlineEnd:-u,borderEndEndRadius:0,[`${f}-corner`]:{insetInlineEnd:0,borderInlineEndColor:`transparent`,borderBlockEndColor:`transparent`}},[`&${f}-placement-start`]:{insetInlineStart:-u,borderEndStartRadius:0,[`${f}-corner`]:{insetInlineStart:0,borderBlockEndColor:`transparent`,borderInlineStartColor:`transparent`}},"&-rtl":{direction:`rtl`}})}},Ut=ue(`Badge`,e=>{let{fontSize:t,lineHeight:n,fontSizeSM:r,lineWidth:i,marginXS:a,colorBorderBg:o}=e,s=Math.round(t*n),c=i,l=s-2*c,u=e.colorBgContainer,d=r,f=e.colorError,p=e.colorErrorHover,m=t,h=r/2,g=r,_=r/2;return[Ht(Se(e,{badgeFontHeight:s,badgeShadowSize:c,badgeZIndex:`auto`,badgeHeight:l,badgeTextColor:u,badgeFontWeight:`normal`,badgeFontSize:d,badgeColor:f,badgeColorHover:p,badgeShadowColor:o,badgeHeightSm:m,badgeDotSize:h,badgeFontSizeSm:g,badgeStatusSize:_,badgeProcessingDuration:`1.2s`,badgeRibbonOffset:a,badgeRibbonCornerTransform:`scaleY(0.75)`,badgeRibbonCornerFilter:`brightness(75%)`}))]}),Wt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Gt=v({compatConfig:{MODE:3},name:`ABadgeRibbon`,inheritAttrs:!1,props:{prefix:String,color:{type:String},text:be.any,placement:{type:String,default:`end`}},slots:Object,setup(e,t){let{attrs:n,slots:r}=t,{prefixCls:i,direction:a}=_e(`ribbon`,e),[o,s]=Ut(i),c=S(()=>we(e.color,!1)),l=S(()=>[i.value,`${i.value}-placement-${e.placement}`,{[`${i.value}-rtl`]:a.value===`rtl`,[`${i.value}-color-${e.color}`]:c.value}]);return()=>{let{class:t,style:a}=n,u=Wt(n,[`class`,`style`]),d={},f={};return e.color&&!c.value&&(d.background=e.color,f.color=e.color),o(x(`div`,q({class:`${i.value}-wrapper ${s.value}`},u),[r.default?.call(r),x(`div`,{class:[l.value,t,s.value],style:J(J({},d),a)},[x(`span`,{class:`${i.value}-text`},[e.text||r.text?.call(r)]),x(`div`,{class:`${i.value}-corner`,style:f},null)])]))}}}),Kt=v({compatConfig:{MODE:3},name:`ABadge`,Ribbon:Gt,inheritAttrs:!1,props:{count:be.any.def(null),showZero:{type:Boolean,default:void 0},overflowCount:{type:Number,default:99},dot:{type:Boolean,default:void 0},prefixCls:String,scrollNumberPrefixCls:String,status:{type:String},size:{type:String,default:`default`},color:String,text:be.any,offset:Array,numberStyle:{type:Object,default:void 0},title:String},slots:Object,setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i,direction:a}=_e(`badge`,e),[o,s]=Ut(i),c=S(()=>e.count>e.overflowCount?`${e.overflowCount}+`:e.count),l=S(()=>c.value===`0`||c.value===0),d=S(()=>e.count===null||l.value&&!e.showZero),f=S(()=>(e.status!==null&&e.status!==void 0||e.color!==null&&e.color!==void 0)&&d.value),p=S(()=>e.dot&&!l.value),m=S(()=>p.value?``:c.value),h=S(()=>(m.value===null||m.value===void 0||m.value===``||l.value&&!e.showZero)&&!p.value),g=u(e.count),_=u(m.value),v=u(p.value);C([()=>e.count,m,p],()=>{h.value||(g.value=e.count,_.value=m.value,v.value=p.value)},{immediate:!0});let y=S(()=>we(e.color,!1)),b=S(()=>({[`${i.value}-status-dot`]:f.value,[`${i.value}-status-${e.status}`]:!!e.status,[`${i.value}-color-${e.color}`]:y.value})),w=S(()=>e.color&&!y.value?{background:e.color,color:e.color}:{}),T=S(()=>({[`${i.value}-dot`]:v.value,[`${i.value}-count`]:!v.value,[`${i.value}-count-sm`]:e.size===`small`,[`${i.value}-multiple-words`]:!v.value&&_.value&&_.value.toString().length>1,[`${i.value}-status-${e.status}`]:!!e.status,[`${i.value}-color-${e.color}`]:y.value}));return()=>{let{offset:t,title:c,color:l}=e,u=r.style,d=ge(n,e,`text`),p=i.value,m=g.value,v=me(n.default?.call(n));v=v.length?v:null;let S=!!(!h.value||n.count),C=(()=>{if(!t)return J({},u);let e={marginTop:$e(t[1])?`${t[1]}px`:t[1]};return a.value===`rtl`?e.left=`${parseInt(t[0],10)}px`:e.right=`${-parseInt(t[0],10)}px`,J(J({},e),u)})(),E=c??(typeof m==`string`||typeof m==`number`?m:void 0),D=S||!d?null:x(`span`,{class:`${p}-status-text`},[d]),O=typeof m==`object`||m===void 0&&n.count?Pe(m??n.count?.call(n),{style:C},!1):null,k=oe(p,{[`${p}-status`]:f.value,[`${p}-not-a-wrapper`]:!v,[`${p}-rtl`]:a.value===`rtl`},r.class,s.value);if(!v&&f.value){let e=C.color;return o(x(`span`,q(q({},r),{},{class:k,style:C}),[x(`span`,{class:b.value,style:w.value},null),x(`span`,{style:{color:e},class:`${p}-status-text`},[d])]))}let A=De(v?`${p}-zoom`:``,{appear:!1}),j=J(J({},C),e.numberStyle);return l&&!y.value&&(j||={},j.background=l),o(x(`span`,q(q({},r),{},{class:k}),[v,x(V,A,{default:()=>[M(x(Ft,{prefixCls:e.scrollNumberPrefixCls,show:S,class:T.value,count:_.value,title:E,style:j,key:`scrollNumber`},{default:()=>[O]}),[[B,S]])]}),D]))}}});Kt.install=function(e){return e.component(Kt.name,Kt),e.component(Gt.name,Gt),e};var qt=Kt,Jt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Yt=v({compatConfig:{MODE:3},name:`ABreadcrumbItem`,inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:{prefixCls:String,href:String,separator:be.any,dropdownProps:de(),overlay:be.any,onClick:ae()},slots:Object,setup(e,t){let{slots:n,attrs:r,emit:i}=t,{prefixCls:a}=_e(`breadcrumb`,e),o=(t,r)=>{let i=ge(n,e,`overlay`);return i?x(et,q(q({},e.dropdownProps),{},{overlay:i,placement:`bottom`}),{default:()=>[x(`span`,{class:`${r}-overlay-link`},[t,x(Le,null,null)])]}):t},s=e=>{i(`click`,e)};return()=>{let t=ge(n,e,`separator`)??`/`,i=ge(n,e),{class:c,style:l}=r,u=Jt(r,[`class`,`style`]),d;return d=e.href===void 0?x(`span`,q({class:`${a.value}-link`,onClick:s},u),[i]):x(`a`,q({class:`${a.value}-link`,onClick:s},u),[i]),d=o(d,a.value),i==null?null:x(`li`,{class:c,style:l},[d,t&&x(`span`,{class:`${a.value}-separator`},[t])])}}}),Xt=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:J(J({},fe(e)),{color:e.breadcrumbBaseColor,fontSize:e.breadcrumbFontSize,[n]:{fontSize:e.breadcrumbIconFontSize},ol:{display:`flex`,flexWrap:`wrap`,margin:0,padding:0,listStyle:`none`},a:J({color:e.breadcrumbLinkColor,transition:`color ${e.motionDurationMid}`,padding:`0 ${e.paddingXXS}px`,borderRadius:e.borderRadiusSM,height:e.lineHeight*e.fontSize,display:`inline-block`,marginInline:-e.marginXXS,"&:hover":{color:e.breadcrumbLinkColorHover,backgroundColor:e.colorBgTextHover}},he(e)),"li:last-child":{color:e.breadcrumbLastItemColor,[`& > ${t}-separator`]:{display:`none`}},[`${t}-separator`]:{marginInline:e.breadcrumbSeparatorMargin,color:e.breadcrumbSeparatorColor},[`${t}-link`]:{[`
|
|
2
|
+
> ${n} + span,
|
|
3
|
+
> ${n} + a
|
|
4
|
+
`]:{marginInlineStart:e.marginXXS}},[`${t}-overlay-link`]:{borderRadius:e.borderRadiusSM,height:e.lineHeight*e.fontSize,display:`inline-block`,padding:`0 ${e.paddingXXS}px`,marginInline:-e.marginXXS,[`> ${n}`]:{marginInlineStart:e.marginXXS,fontSize:e.fontSizeIcon},"&:hover":{color:e.breadcrumbLinkColorHover,backgroundColor:e.colorBgTextHover,a:{color:e.breadcrumbLinkColorHover}},a:{"&:hover":{backgroundColor:`transparent`}}},[`&${e.componentCls}-rtl`]:{direction:`rtl`}})}},Zt=ue(`Breadcrumb`,e=>[Xt(Se(e,{breadcrumbBaseColor:e.colorTextDescription,breadcrumbFontSize:e.fontSize,breadcrumbIconFontSize:e.fontSize,breadcrumbLinkColor:e.colorTextDescription,breadcrumbLinkColorHover:e.colorText,breadcrumbLastItemColor:e.colorText,breadcrumbSeparatorMargin:e.marginXS,breadcrumbSeparatorColor:e.colorTextDescription}))]),Qt=()=>({prefixCls:String,routes:{type:Array},params:be.any,separator:be.any,itemRender:{type:Function}});function $t(e,t){if(!e.breadcrumbName)return null;let n=Object.keys(t).join(`|`);return e.breadcrumbName.replace(RegExp(`:(${n})`,`g`),(e,n)=>t[n]||e)}function en(e){let{route:t,params:n,routes:r,paths:i}=e,a=r.indexOf(t)===r.length-1,o=$t(t,n);return a?x(`span`,null,[o]):x(`a`,{href:`#/${i.join(`/`)}`},[o])}var tn=v({compatConfig:{MODE:3},name:`ABreadcrumb`,inheritAttrs:!1,props:Qt(),slots:Object,setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i,direction:a}=_e(`breadcrumb`,e),[o,s]=Zt(i),c=(e,t)=>(e=(e||``).replace(/^\//,``),Object.keys(t).forEach(n=>{e=e.replace(`:${n}`,t[n])}),e),l=(e,t,n)=>{let r=[...e],i=c(t||``,n);return i&&r.push(i),r},u=e=>{let{routes:t=[],params:n={},separator:r,itemRender:i=en}=e,a=[];return t.map(e=>{let o=c(e.path,n);o&&a.push(o);let s=[...a],u=null;e.children&&e.children.length&&(u=x(Je,{items:e.children.map(e=>({key:e.path||e.breadcrumbName,label:i({route:e,params:n,routes:t,paths:l(s,e.path,n)})}))},null));let d={separator:r};return u&&(d.overlay=u),x(Yt,q(q({},d),{},{key:o||e.breadcrumbName}),{default:()=>[i({route:e,params:n,routes:t,paths:s})]})})};return()=>{let t,{routes:c,params:l={}}=e,d=me(ge(n,e)),f=ge(n,e,`separator`)??`/`,p=e.itemRender||n.itemRender||en;c&&c.length>0?t=u({routes:c,params:l,separator:f,itemRender:p}):d.length&&(t=d.map((e,t)=>(pe(typeof e.type==`object`&&(e.type.__ANT_BREADCRUMB_ITEM||e.type.__ANT_BREADCRUMB_SEPARATOR),`Breadcrumb`,`Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children`),P(e,{separator:f,key:t}))));let m={[i.value]:!0,[`${i.value}-rtl`]:a.value===`rtl`,[`${r.class}`]:!!r.class,[s.value]:!0};return o(x(`nav`,q(q({},r),{},{class:m}),[x(`ol`,null,[t])]))}}}),nn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},rn=v({compatConfig:{MODE:3},name:`ABreadcrumbSeparator`,__ANT_BREADCRUMB_SEPARATOR:!0,inheritAttrs:!1,props:{prefixCls:String},setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i}=_e(`breadcrumb`,e);return()=>{let{separator:e,class:t}=r,a=nn(r,[`separator`,`class`]),o=me(n.default?.call(n));return x(`span`,q({class:[`${i.value}-separator`,t]},a),[o.length>0?o:`/`])}}});tn.Item=Yt,tn.Separator=rn,tn.install=function(e){return e.component(tn.name,tn),e.component(Yt.name,Yt),e.component(rn.name,rn),e};var an=tn,on=[`normal`,`exception`,`active`,`success`],sn=()=>({prefixCls:String,type:ve(),percent:Number,format:te(),status:ve(),showInfo:ce(),strokeWidth:Number,strokeLinecap:ve(),strokeColor:se(),trailColor:String,width:Number,success:de(),gapDegree:Number,gapPosition:ve(),size:xe([String,Number,Array]),steps:Number,successPercent:Number,title:String,progressStatus:ve()});function cn(e){return!e||e<0?0:e>100?100:e}function ln(e){let{success:t,successPercent:n}=e,r=n;return t&&`progress`in t&&(Me(!1,`Progress`,"`success.progress` is deprecated. Please use `success.percent` instead."),r=t.progress),t&&`percent`in t&&(r=t.percent),r}function un(e){let{percent:t,success:n,successPercent:r}=e,i=cn(ln({success:n,successPercent:r}));return[i,cn(cn(t)-i)]}function dn(e){let{success:t={},strokeColor:n}=e,{strokeColor:r}=t;return[r||re.green,n||null]}var fn=(e,t,n)=>{let r=-1,i=-1;if(t===`step`){let t=n.steps,a=n.strokeWidth;typeof e==`string`||e===void 0?(r=e===`small`?2:14,i=a??8):typeof e==`number`?[r,i]=[e,e]:[r=14,i=8]=e,r*=t}else if(t===`line`){let t=n?.strokeWidth;typeof e==`string`||e===void 0?i=t||(e===`small`?6:8):typeof e==`number`?[r,i]=[e,e]:[r=-1,i=8]=e}else(t===`circle`||t===`dashboard`)&&(typeof e==`string`||e===void 0?[r,i]=e===`small`?[60,60]:[120,120]:typeof e==`number`?[r,i]=[e,e]:(r=e[0]??e[1]??120,i=e[0]??e[1]??120));return{width:r,height:i}},pn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},mn=()=>J(J({},sn()),{strokeColor:se(),direction:ve()}),hn=e=>{let t=[];return Object.keys(e).forEach(n=>{let r=parseFloat(n.replace(/%/g,``));isNaN(r)||t.push({key:r,value:e[n]})}),t=t.sort((e,t)=>e.key-t.key),t.map(e=>{let{key:t,value:n}=e;return`${n} ${t}%`}).join(`, `)},gn=(e,t)=>{let{from:n=re.blue,to:r=re.blue,direction:i=t===`rtl`?`to left`:`to right`}=e,a=pn(e,[`from`,`to`,`direction`]);return Object.keys(a).length===0?{backgroundImage:`linear-gradient(${i}, ${n}, ${r})`}:{backgroundImage:`linear-gradient(${i}, ${hn(a)})`}},_n=v({compatConfig:{MODE:3},name:`ProgressLine`,inheritAttrs:!1,props:mn(),setup(e,t){let{slots:n,attrs:r}=t,i=S(()=>{let{strokeColor:t,direction:n}=e;return t&&typeof t!=`string`?gn(t,n):{backgroundColor:t}}),a=S(()=>e.strokeLinecap===`square`||e.strokeLinecap===`butt`?0:void 0),o=S(()=>e.trailColor?{backgroundColor:e.trailColor}:void 0),s=S(()=>e.size??[-1,e.strokeWidth||(e.size===`small`?6:8)]),c=S(()=>fn(s.value,`line`,{strokeWidth:e.strokeWidth})),l=S(()=>{let{percent:t}=e;return J({width:`${cn(t)}%`,height:`${c.value.height}px`,borderRadius:a.value},i.value)}),u=S(()=>ln(e)),d=S(()=>{let{success:t}=e;return{width:`${cn(u.value)}%`,height:`${c.value.height}px`,borderRadius:a.value,backgroundColor:t?.strokeColor}}),f={width:c.value.width<0?`100%`:c.value.width,height:`${c.value.height}px`};return()=>x(E,null,[x(`div`,q(q({},r),{},{class:[`${e.prefixCls}-outer`,r.class],style:[r.style,f]}),[x(`div`,{class:`${e.prefixCls}-inner`,style:o.value},[x(`div`,{class:`${e.prefixCls}-bg`,style:l.value},null),u.value===void 0?null:x(`div`,{class:`${e.prefixCls}-success-bg`,style:d.value},null)])]),n.default?.call(n)])}}),vn={percent:0,prefixCls:`vc-progress`,strokeColor:`#2db7f5`,strokeLinecap:`round`,strokeWidth:1,trailColor:`#D9D9D9`,trailWidth:1},yn=e=>{let t=u(null);return d(()=>{let n=Date.now(),r=!1;e.value.forEach(e=>{let i=e?.$el||e;if(!i)return;r=!0;let a=i.style;a.transitionDuration=`.3s, .3s, .3s, .06s`,t.value&&n-t.value<100&&(a.transitionDuration=`0s, 0s`)}),r&&(t.value=Date.now())}),e},bn={gapDegree:Number,gapPosition:{type:String},percent:{type:[Array,Number]},prefixCls:String,strokeColor:{type:[Object,String,Array]},strokeLinecap:{type:String},strokeWidth:Number,trailColor:String,trailWidth:Number,transition:String},xn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Sn=0;function Cn(e){return+e.replace(`%`,``)}function wn(e){return Array.isArray(e)?e:[e]}function Tn(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5?arguments[5]:void 0,o=50-r/2,s=0,c=-o,l=0,u=-2*o;switch(a){case`left`:s=-o,c=0,l=2*o,u=0;break;case`right`:s=o,c=0,l=-2*o,u=0;break;case`bottom`:c=o,u=2*o}let d=`M 50,50 m ${s},${c}
|
|
5
|
+
a ${o},${o} 0 1 1 ${l},${-u}
|
|
6
|
+
a ${o},${o} 0 1 1 ${-l},${u}`,f=Math.PI*2*o;return{pathString:d,pathStyle:{stroke:n,strokeDasharray:`${t/100*(f-i)}px ${f}px`,strokeDashoffset:`-${i/2+e/100*(f-i)}px`,transition:`stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s`}}}var En=v({compatConfig:{MODE:3},name:`VCCircle`,props:ne(bn,vn),setup(e){Sn+=1;let t=u(Sn),n=S(()=>wn(e.percent)),r=S(()=>wn(e.strokeColor)),[i,a]=Xe();yn(a);let o=()=>{let{prefixCls:a,strokeWidth:o,strokeLinecap:s,gapDegree:c,gapPosition:l}=e,u=0;return n.value.map((e,n)=>{let d=r.value[n]||r.value[r.value.length-1],f=Object.prototype.toString.call(d)===`[object Object]`?`url(#${a}-gradient-${t.value})`:``,{pathString:p,pathStyle:m}=Tn(u,e,d,o,c,l);u+=e;let h={key:n,d:p,stroke:f,"stroke-linecap":s,"stroke-width":o,opacity:e===0?0:1,"fill-opacity":`0`,class:`${a}-circle-path`,style:m};return x(`path`,q({ref:i(n)},h),null)})};return()=>{let{prefixCls:n,strokeWidth:i,trailWidth:a,gapDegree:s,gapPosition:c,trailColor:l,strokeLinecap:u,strokeColor:d}=e,f=xn(e,[`prefixCls`,`strokeWidth`,`trailWidth`,`gapDegree`,`gapPosition`,`trailColor`,`strokeLinecap`,`strokeColor`]),{pathString:p,pathStyle:m}=Tn(0,100,l,i,s,c);delete f.percent;let h=r.value.find(e=>Object.prototype.toString.call(e)===`[object Object]`),g={d:p,stroke:l,"stroke-linecap":u,"stroke-width":a||i,"fill-opacity":`0`,class:`${n}-circle-trail`,style:m};return x(`svg`,q({class:`${n}-circle`,viewBox:`0 0 100 100`},f),[h&&x(`defs`,null,[x(`linearGradient`,{id:`${n}-gradient-${t.value}`,x1:`100%`,y1:`0%`,x2:`0%`,y2:`0%`},[Object.keys(h).sort((e,t)=>Cn(e)-Cn(t)).map((e,t)=>x(`stop`,{key:t,offset:e,"stop-color":h[e]},null))])]),x(`path`,g,null),o().reverse()])}}}),Dn=()=>J(J({},sn()),{strokeColor:se()}),On=3,kn=e=>On/e*100,An=v({compatConfig:{MODE:3},name:`ProgressCircle`,inheritAttrs:!1,props:ne(Dn(),{trailColor:null}),setup(e,t){let{slots:n,attrs:r}=t,i=S(()=>e.width??120),a=S(()=>e.size??[i.value,i.value]),o=S(()=>fn(a.value,`circle`)),s=S(()=>{if(e.gapDegree||e.gapDegree===0)return e.gapDegree;if(e.type===`dashboard`)return 75}),c=S(()=>({width:`${o.value.width}px`,height:`${o.value.height}px`,fontSize:`${o.value.width*.15+6}px`})),l=S(()=>e.strokeWidth??Math.max(kn(o.value.width),6)),u=S(()=>e.gapPosition||e.type===`dashboard`&&`bottom`||void 0),d=S(()=>un(e)),f=S(()=>Object.prototype.toString.call(e.strokeColor)===`[object Object]`),p=S(()=>dn({success:e.success,strokeColor:e.strokeColor})),m=S(()=>({[`${e.prefixCls}-inner`]:!0,[`${e.prefixCls}-circle-gradient`]:f.value}));return()=>{let t=x(En,{percent:d.value,strokeWidth:l.value,trailWidth:l.value,strokeColor:p.value,strokeLinecap:e.strokeLinecap,trailColor:e.trailColor,prefixCls:e.prefixCls,gapDegree:s.value,gapPosition:u.value},null);return x(`div`,q(q({},r),{},{class:[m.value,r.class],style:[r.style,c.value]}),[o.value.width<=20?x(Ce,null,{default:()=>[x(`span`,null,[t])],title:n.default}):x(E,null,[t,n.default?.call(n)])])}}}),jn=v({compatConfig:{MODE:3},name:`Steps`,props:J(J({},sn()),{steps:Number,strokeColor:xe(),trailColor:String}),setup(e,t){let{slots:n}=t,r=S(()=>Math.round(e.steps*((e.percent||0)/100))),i=S(()=>e.size??[e.size===`small`?2:14,e.strokeWidth||8]),a=S(()=>fn(i.value,`step`,{steps:e.steps,strokeWidth:e.strokeWidth||8})),o=S(()=>{let{steps:t,strokeColor:n,trailColor:i,prefixCls:o}=e,s=[];for(let e=0;e<t;e+=1){let c=Array.isArray(n)?n[e]:n,l={[`${o}-steps-item`]:!0,[`${o}-steps-item-active`]:e<=r.value-1};s.push(x(`div`,{key:e,class:l,style:{backgroundColor:e<=r.value-1?c:i,width:`${a.value.width/t}px`,height:`${a.value.height}px`}},null))}return s});return()=>x(`div`,{class:`${e.prefixCls}-steps-outer`},[o.value,n.default?.call(n)])}}),Mn=new ie(`antProgressActive`,{"0%":{transform:`translateX(-100%) scaleX(0)`,opacity:.1},"20%":{transform:`translateX(-100%) scaleX(0)`,opacity:.5},to:{transform:`translateX(0) scaleX(1)`,opacity:0}}),Nn=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:J(J({},fe(e)),{display:`inline-block`,"&-rtl":{direction:`rtl`},"&-line":{position:`relative`,width:`100%`,fontSize:e.fontSize,marginInlineEnd:e.marginXS,marginBottom:e.marginXS},[`${t}-outer`]:{display:`inline-block`,width:`100%`},[`&${t}-show-info`]:{[`${t}-outer`]:{marginInlineEnd:`calc(-2em - ${e.marginXS}px)`,paddingInlineEnd:`calc(2em + ${e.paddingXS}px)`}},[`${t}-inner`]:{position:`relative`,display:`inline-block`,width:`100%`,overflow:`hidden`,verticalAlign:`middle`,backgroundColor:e.progressRemainingColor,borderRadius:e.progressLineRadius},[`${t}-inner:not(${t}-circle-gradient)`]:{[`${t}-circle-path`]:{stroke:e.colorInfo}},[`${t}-success-bg, ${t}-bg`]:{position:`relative`,backgroundColor:e.colorInfo,borderRadius:e.progressLineRadius,transition:`all ${e.motionDurationSlow} ${e.motionEaseInOutCirc}`},[`${t}-success-bg`]:{position:`absolute`,insetBlockStart:0,insetInlineStart:0,backgroundColor:e.colorSuccess},[`${t}-text`]:{display:`inline-block`,width:`2em`,marginInlineStart:e.marginXS,color:e.progressInfoTextColor,lineHeight:1,whiteSpace:`nowrap`,textAlign:`start`,verticalAlign:`middle`,wordBreak:`normal`,[n]:{fontSize:e.fontSize}},[`&${t}-status-active`]:{[`${t}-bg::before`]:{position:`absolute`,inset:0,backgroundColor:e.colorBgContainer,borderRadius:e.progressLineRadius,opacity:0,animationName:Mn,animationDuration:e.progressActiveMotionDuration,animationTimingFunction:e.motionEaseOutQuint,animationIterationCount:`infinite`,content:`""`}},[`&${t}-status-exception`]:{[`${t}-bg`]:{backgroundColor:e.colorError},[`${t}-text`]:{color:e.colorError}},[`&${t}-status-exception ${t}-inner:not(${t}-circle-gradient)`]:{[`${t}-circle-path`]:{stroke:e.colorError}},[`&${t}-status-success`]:{[`${t}-bg`]:{backgroundColor:e.colorSuccess},[`${t}-text`]:{color:e.colorSuccess}},[`&${t}-status-success ${t}-inner:not(${t}-circle-gradient)`]:{[`${t}-circle-path`]:{stroke:e.colorSuccess}}})}},Pn=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:{[`${t}-circle-trail`]:{stroke:e.progressRemainingColor},[`&${t}-circle ${t}-inner`]:{position:`relative`,lineHeight:1,backgroundColor:`transparent`},[`&${t}-circle ${t}-text`]:{position:`absolute`,insetBlockStart:`50%`,insetInlineStart:0,width:`100%`,margin:0,padding:0,color:e.colorText,lineHeight:1,whiteSpace:`normal`,textAlign:`center`,transform:`translateY(-50%)`,[n]:{fontSize:`${e.fontSize/e.fontSizeSM}em`}},[`${t}-circle&-status-exception`]:{[`${t}-text`]:{color:e.colorError}},[`${t}-circle&-status-success`]:{[`${t}-text`]:{color:e.colorSuccess}}},[`${t}-inline-circle`]:{lineHeight:1,[`${t}-inner`]:{verticalAlign:`bottom`}}}},Fn=e=>{let{componentCls:t}=e;return{[t]:{[`${t}-steps`]:{display:`inline-block`,"&-outer":{display:`flex`,flexDirection:`row`,alignItems:`center`},"&-item":{flexShrink:0,minWidth:e.progressStepMinWidth,marginInlineEnd:e.progressStepMarginInlineEnd,backgroundColor:e.progressRemainingColor,transition:`all ${e.motionDurationSlow}`,"&-active":{backgroundColor:e.colorInfo}}}}}},In=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:{[`${t}-small&-line, ${t}-small&-line ${t}-text ${n}`]:{fontSize:e.fontSizeSM}}}},Ln=ue(`Progress`,e=>{let t=e.marginXXS/2,n=Se(e,{progressLineRadius:100,progressInfoTextColor:e.colorText,progressDefaultColor:e.colorInfo,progressRemainingColor:e.colorFillSecondary,progressStepMarginInlineEnd:t,progressStepMinWidth:t,progressActiveMotionDuration:`2.4s`});return[Nn(n),Pn(n),Fn(n),In(n)]}),Rn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},zn=v({compatConfig:{MODE:3},name:`AProgress`,inheritAttrs:!1,props:ne(sn(),{type:`line`,percent:0,showInfo:!0,trailColor:null,size:`default`,strokeLinecap:`round`}),slots:Object,setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i,direction:a}=_e(`progress`,e),[o,s]=Ln(i),c=S(()=>Array.isArray(e.strokeColor)?e.strokeColor[0]:e.strokeColor),l=S(()=>{let{percent:t=0}=e,n=ln(e);return parseInt(n===void 0?t.toString():n.toString(),10)}),u=S(()=>{let{status:t}=e;return!on.includes(t)&&l.value>=100?`success`:t||`normal`}),d=S(()=>{let{type:t,showInfo:n,size:r}=e,o=i.value;return{[o]:!0,[`${o}-inline-circle`]:t===`circle`&&fn(r,`circle`).width<=20,[`${o}-${t===`dashboard`&&`circle`||t}`]:!0,[`${o}-status-${u.value}`]:!0,[`${o}-show-info`]:n,[`${o}-${r}`]:r,[`${o}-rtl`]:a.value===`rtl`,[s.value]:!0}}),f=S(()=>typeof e.strokeColor==`string`||Array.isArray(e.strokeColor)?e.strokeColor:void 0),p=()=>{let{showInfo:t,format:r,type:a,percent:o,title:s}=e,c=ln(e);if(!t)return null;let l,d=r||n?.format||(e=>`${e}%`),f=a===`line`;return r||n?.format||u.value!==`exception`&&u.value!==`success`?l=d(cn(o),cn(c)):u.value===`exception`?l=x(f?Oe:Ae,null,null):u.value===`success`&&(l=x(f?je:Re,null,null)),x(`span`,{class:`${i.value}-text`,title:s===void 0&&typeof l==`string`?l:void 0},[l])};return()=>{let{type:t,steps:n,title:s}=e,{class:l}=r,m=Rn(r,[`class`]),h=p(),g;return t===`line`?g=n?x(jn,q(q({},e),{},{strokeColor:f.value,prefixCls:i.value,steps:n}),{default:()=>[h]}):x(_n,q(q({},e),{},{strokeColor:c.value,prefixCls:i.value,direction:a.value}),{default:()=>[h]}):(t===`circle`||t===`dashboard`)&&(g=x(An,q(q({},e),{},{prefixCls:i.value,strokeColor:c.value,progressStatus:u.value}),{default:()=>[h]})),o(x(`div`,q(q({role:`progressbar`},m),{},{class:[d.value,l],title:s}),[g]))}}}),Bn=le(zn),Vn={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`}},Hn={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`}},Un=/^🔧\s*\S+/;function Wn(e){switch(e.type){case`agent.status.message`:return Un.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 Gn(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%)`}function Kn(e){return e.replace(/\s+/g,` `).trim()}function qn(e){let t=e.events[e.events.length-1];return t?t.type===`agent.delta`&&!e.settled:!1}function Jn(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 Yn(e,t){return e==null||t==null||e===t}function Xn(e,t){let n=e.trim(),r=t.trim();return!n||!r?`none`:n===r||Kn(n)===Kn(r)?`dup`:r.startsWith(n)?`extend`:`none`}function Zn(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(`
|
|
7
|
+
`);case`a2a.artifact`:return(e.payload.artifact?.parts??[]).map(e=>e.text??``).join(`
|
|
8
|
+
`);default:return``}}function Qn(e){if(e.overrideText)return e.overrideText;let t=``;for(let n of e.events){if(n.type===`agent.delta`){t+=Zn(n);continue}if(n.type!==`agent.status.message`&&n.type===`agent.message`){let e=Zn(n).trim();e&&(t=`${t?`${t}\n`:``}${e}`);continue}}return t}function $n(e,t,n){return e>0&&(n||t<e)}var er=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`&&!Zn(e)||(e.type===`agent.status.message`||e.type===`agent.message`)&&!Zn(e).trim())return this.last;let t=e.agentId??null,n=Jn(e),r=t??``,i=`${r}\u0000${n??``}`,a=Wn(e);if(e.type===`agent.status.message`&&a===`status`){let t=Zn(e).trim(),n=this.tracks.get(i);if(t&&n&&n.text){let r=Xn(n.text,t);if(r===`dup`||r===`extend`)return this.foldInto(n,e,t)}}if(e.type===`agent.message`){let t=Zn(e).trim(),n=this.tracks.get(i);if(t&&n&&n.text){let r=Xn(n.text,t);if(r===`dup`||r===`extend`)return this.foldInto(n,e,t)}}let s=a;if(e.type===`agent.delta`)s=`stream`;else if(e.type===`agent.message`)s=`stream`;else if(a===`status`){let t=this.last;t!==null&&t.kind===`stream`&&e.agentId===t.agentId&&Yn(t.taskId,n)&&!t.settled&&(s=`stream`)}if(this.last!==null&&this.last.kind===s&&this.last.agentId===e.agentId&&t!==null&&Yn(this.last.taskId,n)&&!(s===`stream`&&this.last.settled)&&!(s===`task`&&this.last.taskId&&n&&this.last.taskId!==n)&&!(s===`artifact`&&this.last.taskId&&n&&this.last.taskId!==n)&&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 a=this.tracks.get(i);a?(a.text+=Zn(e),a.last=t,this.setTrail(r,n,a.text)):(t.settled=!1,this.setTrail(r,n,Zn(e)))}else t.settled=!0,this.setTrail(r,n,`${Zn(e)}`)}return t}let c=o({id:`b${++this.idSeq}`,kind:s,agentId:t,taskId:n,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(i);if(t&&t.pieces.length>0&&!t.pieces.includes(c)?(t.pieces.push(c),t.last=c):t||this.tracks.set(i,{text:``,pieces:[c],last:c}),e.type===`agent.delta`){let t=this.tracks.get(i);t&&(t.text+=Zn(e),this.setTrail(r,n,t.text))}}if(s===`artifact`){let t=Zn(e),n=this.trail[i]??this.trail[`${r}\u0000`];n&&t&&Kn(n)===Kn(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 tr(e){return e.replace(/[&<>"']/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`})[e]??e)}function nr(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 rr={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 ir(e){let t=[];return tr(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(`
|
|
9
|
+
`);if(/^### /.test(e))return`<h5>${nr(e.slice(4))}</h5>`;if(/^## /.test(e))return`<h4>${nr(e.slice(3))}</h4>`;if(/^# /.test(e))return`<h4>${nr(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">${nr(t[2]??``)}</span></li>`}).join(``)}</ul>`:`<ul>${t.map(e=>`<li>${nr(e.replace(/^\s*[-*] /,``))}</li>`).join(``)}</ul>`;if(t.every(e=>/^>\s?/.test(e))){let e=/^>\s*\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*(.*)$/.exec(t[0]??``);if(e){let n=rr[e[1].toLowerCase()],r=e[2]??``,i=[...r?[r]:[],...t.slice(1).map(e=>e.replace(/^>\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=>nr(e)).join(`<br>`)}</p></div>`}return`<blockquote>${t.map(e=>nr(e.replace(/^>\s?/,``))).join(`<br>`)}</blockquote>`}return t.length===1&&/^@@AWCODE\d+@@$/.test(e)?e:`<p>${t.map(e=>nr(e)).join(`<br>`)}</p>`}).join(``).replace(/@@AWCODE(\d+)@@/g,(e,n)=>t[Number(n)]??``)}function ar(e){let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`(^|(?<![\\w@]))@(${t})(?=$|[\\s,.;:!?、,。;:!?…)\\]】」』])`,`gu`)}function or(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(ar(e.name),(t,r,i)=>(n.push(e),`\uE000M${n.length-1}\uE000`)));return{text:i,hits:n}}function sr(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="${tr(r.agentId)}">@${tr(r.name)}</span>`:``})}function cr(e,t){let{text:n,hits:r}=or(e,t);return sr(ir(n),r)}var lr={class:`mh-body`},ur={class:`mh-name`},dr={class:`mh-role`},fr={key:0,class:`mh-task`},pr={class:`mh-hint`},mr=Object.assign(X(v({__name:`MentionHoverCard`,setup(e){let n=Z(),r=u(null),i=null,o=e=>{for(let[t,r]of Object.entries(n.agents)){let n=r.find(t=>t.agentId===e);if(n)return{agent:n,channelId:t}}return null},c=e=>e.target.closest?.(`.md-mention, .who-pill`)??null,l=e=>{let t=c(e);if(!t)return;let n=t.dataset.agentId;n&&(i&&clearTimeout(i),i=setTimeout(()=>{let t=o(n);if(!t)return;let i=Math.min(e.clientX+14,Math.max(window.innerWidth-280,8)),a=Math.min(e.clientY+16,Math.max(window.innerHeight-170,8));r.value={x:i,y:a,...t}},350))},d=e=>{c(e)&&(i&&clearTimeout(i),r.value=null)};_(()=>{document.addEventListener(`mouseover`,l),document.addEventListener(`mouseout`,d)}),h(()=>{i&&clearTimeout(i),document.removeEventListener(`mouseover`,l),document.removeEventListener(`mouseout`,d)});let f=e=>e===`busy`?`var(--tone-live-dot)`:`var(--ink-fainter)`;return(e,i)=>(y(),j(N,{to:`body`},[r.value?(y(),T(`div`,{key:0,class:`mh-card`,style:a({left:`${r.value.x}px`,top:`${r.value.y}px`})},[w(`span`,{class:`aw-avatar is-agent mh-ava`,style:a({"--av":t(Gn)(r.value.agent.agentId)})},s(r.value.agent.name.trim().charAt(0).toUpperCase()),5),w(`div`,lr,[w(`div`,ur,[w(`span`,{class:`mh-dot`,style:a({background:f(r.value.agent.state)})},null,4),I(` `+s(r.value.agent.name),1)]),w(`div`,dr,s(r.value.agent.role)+` / `+s(r.value.agent.harness)+` / `+s(r.value.agent.state),1),r.value.agent.currentTaskId?(y(),T(`div`,fr,s(e.$t(`mentionHoverCard.k3o5eky002`))+s(t(n).taskTitle(r.value.channelId,r.value.agent.currentTaskId)),1)):k(``,!0),w(`div`,pr,s(e.$t(`mentionHoverCard.k1t89ag4001`)),1)])],4)):k(``,!0)]))}}),[[`__scopeId`,`data-v-85570eca`]]),{__name:`WorkshopMentionHoverCard`}),hr=[`aria-label`],gr=Object.assign(X(v({__name:`PaneSplitter`,props:{label:{default:``},variant:{default:`divider`}},emits:[`resize`,`reset`],setup(e,{emit:n}){let{t:r}=G(),a=e,o=S(()=>a.label||r(`paneSplitter.kejk1i9001`)),s=n,c=u(!1),l=0,d=e=>{e.button===0&&(c.value=!0,l=e.clientX,document.body.classList.add(`aw-pane-dragging`),e.currentTarget.setPointerCapture(e.pointerId))},f=e=>{if(!c.value)return;let t=e.clientX-l;l=e.clientX,t!==0&&s(`resize`,t)},p=e=>{if(c.value){c.value=!1,document.body.classList.remove(`aw-pane-dragging`);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}},m=e=>{let t=e.shiftKey?48:12;e.key===`ArrowLeft`?(s(`resize`,-t),e.preventDefault()):e.key===`ArrowRight`&&(s(`resize`,t),e.preventDefault())};return(n,r)=>(y(),T(`div`,{class:i([`pane-splitter`,[e.variant,{dragging:t(c)}]]),role:`separator`,"aria-orientation":`vertical`,"aria-label":t(o),tabindex:`0`,onPointerdown:d,onPointermove:f,onPointerup:p,onPointercancel:p,onDblclick:r[0]||=e=>s(`reset`),onKeydown:m},[...r[1]||=[w(`span`,{class:`grip`},null,-1)]],42,hr))}}),[[`__scopeId`,`data-v-4f787ef8`]]),{__name:`WorkshopPaneSplitter`}),_r={class:`topbar`},vr={class:`ws-name`},yr=[`title`],br={class:`right`},xr=[`title`],Sr=[`title`],Cr=[`title`],wr=[`title`],Tr=[`title`],Er=[`data-state`],Dr={class:`seq`},Or=Object.assign(X(v({__name:`Topbar`,props:O({wsName:{},channelId:{},viewOptions:{},narrow:{type:Boolean},stateColor:{},connState:{},lastSeq:{}},{view:{required:!0},viewModifiers:{},leftOpen:{type:Boolean,required:!0},leftOpenModifiers:{},rightOpen:{type:Boolean,required:!0},rightOpenModifiers:{}}),emits:O([`viewKey`,`openA2a`,`openPalette`],[`update:view`,`update:leftOpen`,`update:rightOpen`]),setup(e,{emit:n}){let r=e,o=g(e,`view`),c=g(e,`leftOpen`),l=g(e,`rightOpen`),u=n,d=Z(),f=S(()=>{let e=r.channelId;return e?d.channels[e]?.name??e.slice(0,8):``}),p=()=>{c.value=!c.value},m=()=>{l.value=!l.value};return(n,r)=>{let d=lt;return y(),T(`div`,_r,[w(`div`,{class:`left`,tabindex:`-1`,onKeydown:r[2]||=e=>u(`viewKey`,e)},[r[6]||=w(`span`,{class:`topbar-mark i-tabler-box`},null,-1),w(`span`,vr,s(e.wsName??n.$t(`wsView.unknownWs`)),1),e.channelId?(y(),T(`span`,{key:0,class:`chan-chip`,title:e.channelId},[r[5]||=w(`span`,{class:`chan-hash`},`#`,-1),I(s(t(f)),1)],8,yr)):k(``,!0),e.channelId?(y(),j(d,{key:1,value:o.value,"onUpdate:value":r[0]||=e=>o.value=e,size:`small`,options:e.viewOptions,class:`view-switch`,title:n.$t(`wsView.kqwckjr001`),onKeydown:r[1]||=e=>u(`viewKey`,e)},null,8,[`value`,`options`,`title`])):k(``,!0)],32),w(`div`,br,[e.narrow?(y(),T(`button`,{key:0,class:i([`pane-toggle im toggle-left-narrow`,{off:!c.value}]),title:n.$t(`wsView.channelListTitle`),onClick:p},[...r[7]||=[w(`span`,{class:`i-tabler-list-details im-pop`},null,-1)]],10,xr)):k(``,!0),w(`button`,{class:i([`pane-toggle im toggle-left-desk`,{off:!c.value}]),title:n.$t(`wsView.k1tsy2e4002`),onClick:p},[...r[8]||=[w(`span`,{class:`i-tabler-layout-sidebar-left-collapse im-pop`},null,-1)]],10,Sr),w(`button`,{class:i([`pane-toggle im toggle-right-desk`,{off:!l.value}]),title:n.$t(`wsView.k1tx0ppf003`),onClick:m},[...r[9]||=[w(`span`,{class:`i-tabler-layout-sidebar-right-collapse im-pop`},null,-1)]],10,Cr),w(`button`,{class:`pane-toggle im`,title:n.$t(`wsView.a2aTitle`),onClick:r[3]||=e=>u(`openA2a`)},[...r[10]||=[w(`span`,{class:`i-tabler-terminal-2 im-pop`},null,-1)]],8,wr),w(`button`,{class:`pane-toggle im`,title:n.$t(`wsView.k1cvg8sb004`),onClick:r[4]||=e=>u(`openPalette`)},[...r[11]||=[w(`span`,{class:`i-tabler-command im-pop`},null,-1)]],8,Tr),w(`span`,{class:`dot`,style:a({background:e.stateColor})},null,4),w(`span`,{class:`ws-state`,"data-state":e.connState},s(e.connState),9,Er),w(`span`,Dr,`seq `+s(e.lastSeq),1)])])}}}),[[`__scopeId`,`data-v-c0ff781a`]]),{__name:`WorkshopConsoleTopbar`});function kr(e){let{t}=G(),n=bt(),r=Z(),i=$(),a=S(()=>n.workspaces.find(t=>t.id===e.value)),o=u([]),s=u([]),c=async()=>{if(typeof window>`u`)return;let[e,t]=await Promise.all([i.listChannels(),i.listChannelTemplates().catch(()=>null)]);o.value=e?.data??[],s.value=t?.data??[]};c();let l=S(()=>(a.value?.channelIds??[]).map(e=>({id:e,meta:o.value.find(t=>t.id===e),entity:r.channels[e]})).map(({id:e,meta:t,entity:n})=>({id:e,name:n?.name??t?.name??e.slice(0,8),synced:n!==void 0,busy:r.busyCount(e),agents:r.agents[e]?.length??0,activeTasks:(r.tasks[e]??[]).filter(e=>![`COMPLETED`,`CANCELED`,`FAILED`].includes(e.state)).length,workspace:t?.workspace??``,scheduled:t?.scheduledCount??0}))),d=t=>{n.setActiveChannel(e.value,t)},f=async e=>{try{await navigator.clipboard.writeText(e),Y.success(t(`channelSessionList.kud74vg040`,{p0:e}))}catch{Y.error(t(`channelSessionList.krij3gg026`))}},p=e=>e.replace(/[\\/]+$/,``).split(/[\\/]/).pop()??e,m=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/i;return{workspace:a,channels:o,channelTemplates:s,refreshChannels:c,mountedChannels:l,select:d,copyWorkspace:f,baseName:p,UUID_RE:m,displayWorkspace:e=>{let t=p(e);return m.test(t)?``:t}}}var Ar={class:`fs`},jr={class:`addr`},Mr=[`onClick`],Nr={class:`list`},Pr={class:`name`},Fr=[`onClick`],Ir={class:`icon`},Lr={class:`name`},Rr={key:1,class:`empty`},zr={class:`hint`},Br=Object.assign(X(v({__name:`FileSelectorModal`,props:{open:{type:Boolean},initialPath:{},title:{}},emits:[`update:open`,`select`],setup(e,{emit:n}){let{t:r}=G(),i=e,a=n,o=ut(),c=u(``),d=u(null),f=u([]),p=u(!1),m=u(``),h=async e=>{p.value=!0;try{let t=await(await fetch(`/api/workshop/fs/dirs${e?`?path=${encodeURIComponent(e)}`:``}`,{headers:{authorization:`Bearer ${o.token}`}})).json();if(t.code!==0){Y.warning(t.message??r(`fileSelectorModal.kz99pgv004`));return}c.value=t.data.cwd,d.value=t.data.parent,f.value=t.data.dirs??[],m.value=t.data.cwd}finally{p.value=!1}};C(()=>i.open,e=>{e&&h(i.initialPath||c.value||void 0)});let g=S(()=>{let e=c.value.includes(`\\`)?`\\`:`/`,t=c.value.split(e).filter(Boolean),n=[],r=``;for(let i of t)r=r?r+e+i:i.endsWith(`:`)?i+e:e+i,n.push({label:i,path:r});return n}),_=e=>void h(e),v=()=>{let e=m.value.trim();e&&h(e)},D=()=>{c.value&&(a(`select`,c.value),a(`update:open`,!1))},O=()=>a(`update:open`,!1);return(n,r)=>{let i=Yt,a=an,o=He,c=st,u=Ne;return y(),j(u,{open:e.open,title:e.title??n.$t(`fileSelectorModal.title`),width:640,"ok-text":n.$t(`fileSelectorModal.pickHere`),"cancel-text":n.$t(`common.cancel`),"confirm-loading":t(p),onOk:D,onCancel:O},{default:A(()=>[w(`div`,Ar,[w(`div`,jr,[x(a,{class:`crumbs`},{default:A(()=>[(y(!0),T(E,null,b(t(g),(e,t)=>(y(),j(i,{key:e.path+t},{default:A(()=>[w(`a`,{onClick:z(t=>_(e.path),[`prevent`])},s(e.label),9,Mr)]),_:2},1024))),128))]),_:1})]),x(o,{value:t(m),"onUpdate:value":r[0]||=e=>l(m)?m.value=e:null,size:`small`,class:`manual`,placeholder:n.$t(`fileSelectorModal.pathPh`),"enter-button":n.$t(`fileSelectorModal.go`),onSearch:v},null,8,[`value`,`placeholder`,`enter-button`]),x(c,{spinning:t(p)},{default:A(()=>[w(`div`,Nr,[t(d)?(y(),T(`div`,{key:0,class:`row up`,onClick:r[1]||=e=>_(t(d))},[r[2]||=w(`span`,{class:`icon`},`⬆`,-1),w(`span`,Pr,s(n.$t(`fileSelectorModal.kvwnnvn001`)),1)])):k(``,!0),(y(!0),T(E,null,b(t(f),e=>(y(),T(`div`,{key:e.path,class:`row`,onClick:t=>_(e.path),onDblclick:D},[w(`span`,Ir,s(e.hasChildren?`📂`:`📁`),1),w(`span`,Lr,s(e.name),1)],40,Fr))),128)),!t(p)&&t(f).length===0?(y(),T(`div`,Rr,s(n.$t(`fileSelectorModal.k268o2o002`)),1)):k(``,!0)])]),_:1},8,[`spinning`]),w(`div`,zr,s(n.$t(`fileSelectorModal.k1rt80dq003`)),1)])]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`,`confirm-loading`])}}}),[[`__scopeId`,`data-v-eed7eab9`]]),{__name:`WorkshopFileSelectorModal`}),Vr={class:`ws-hint`},Hr={class:`ws-hint`},Ur={class:`ws-hint`},Wr=Object.assign(X(v({__name:`MountChannelModal`,props:O({wsId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:O([`mounted`],[`update:open`]),setup(e,{emit:n}){let{t:r}=G(),i=e,a=g(e,`open`),c=n,d=bt(),f=$(),p=o({name:``,description:``,workspace:``,scenarioPrompt:``}),m=u(!1),h=u(!1),_=async()=>{if(!p.name.trim()){Y.warning(r(`channelSessionList.nameRequired`));return}m.value=!0;try{let e=(await f.createChannel({name:p.name.trim(),description:p.description||void 0,scenarioPrompt:p.scenarioPrompt.trim()||void 0,workspace:p.workspace.trim()||void 0}))?.data?.channelId;if(!e)throw Error(r(`channelSessionList.k1bg6shc027`));await d.mountChannel(i.wsId,e),a.value=!1,p.name=``,p.description=``,p.workspace=``,p.scenarioPrompt=``,c(`mounted`),Y.success(r(`channelSessionList.kn89jvs028`))}catch(e){Y.error(r(`channelSessionList.k1x2th9e041`,{p0:Q(e)}))}finally{m.value=!1}};return(e,n)=>{let r=Ue,i=Fe,o=Ee,c=ke,u=Be,d=Ie,f=Ne,g=Br;return y(),T(E,null,[x(f,{open:a.value,"onUpdate:open":n[5]||=e=>a.value=e,title:e.$t(`channelSessionList.k1qjyl6l002`),"confirm-loading":t(m),"ok-text":e.$t(`common.create`),"cancel-text":e.$t(`common.cancel`),onOk:_},{default:A(()=>[x(d,{layout:`vertical`},{default:A(()=>[x(i,{label:e.$t(`channelSessionList.nameLabel`)},{default:A(()=>[x(r,{value:t(p).name,"onUpdate:value":n[0]||=e=>t(p).name=e},null,8,[`value`])]),_:1},8,[`label`]),x(i,{label:e.$t(`channelSessionList.k40gkk003`)},{default:A(()=>[x(r,{value:t(p).description,"onUpdate:value":n[1]||=e=>t(p).description=e},null,8,[`value`])]),_:1},8,[`label`]),x(i,{label:e.$t(`channelSessionList.k1wj4f38004`)},{extra:A(()=>[w(`span`,Vr,s(e.$t(`channelSessionList.k1u3zsr5017`)),1)]),default:A(()=>[x(o,{value:t(p).scenarioPrompt,"onUpdate:value":n[2]||=e=>t(p).scenarioPrompt=e,rows:4,placeholder:e.$t(`channelSessionList.k1098zie005`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),x(i,{label:e.$t(`channelSessionList.kmgv4h5006`)},{extra:A(()=>[w(`span`,Hr,s(e.$t(`channelSessionList.kucq30k019`)),1)]),default:A(()=>[x(u,{compact:``},{default:A(()=>[x(r,{value:t(p).workspace,"onUpdate:value":n[3]||=e=>t(p).workspace=e,style:{width:`70%`},placeholder:e.$t(`channelSessionList.wsPh1`),"allow-clear":``,onPressEnter:_},null,8,[`value`,`placeholder`]),x(c,{style:{width:`30%`},onClick:n[4]||=e=>h.value=!0},{default:A(()=>[I(s(e.$t(`channelSessionList.k3pz0ma018`)),1)]),_:1})]),_:1})]),_:1},8,[`label`]),x(i,null,{default:A(()=>[w(`span`,Ur,s(e.$t(`channelSessionList.k1ful761020`)),1)]),_:1})]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`,`ok-text`,`cancel-text`]),x(g,{open:t(h),"onUpdate:open":n[6]||=e=>l(h)?h.value=e:null,title:e.$t(`channelSessionList.kbdp56k013`),"initial-path":t(p).workspace||void 0,onSelect:n[7]||=e=>{t(p).workspace=e}},null,8,[`open`,`title`,`initial-path`])],64)}}}),[[`__scopeId`,`data-v-400a3f48`]]),{__name:`WorkshopSessionListMountChannelModal`}),Gr={key:0,class:`ch-plugin-list`},Kr={class:`ch-plugin-main`},qr={class:`aw-mono`},Jr={key:0,class:`ws-hint`},Yr={key:1,class:`ws-hint ch-plugin-desc`},Xr={key:0,class:`ws-hint`},Zr={key:1,class:`ws-hint`},Qr={class:`ws-hint`},$r=Object.assign(X(v({__name:`ChannelSettingsModal`,props:O({channelId:{},channelMeta:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:O([`saved`,`save-template`],[`update:open`]),setup(e,{emit:n}){let{t:r}=G(),i=e,a=g(e,`open`),c=n,d=$(),f=o({name:``,scenarioPrompt:``,workspace:``}),p=o({harness:`omp`,provider:``,model:``,effort:``,enabled:!1}),m=u([]),h=u(`levels`),_=u(!1),v=S(()=>m.value.map(e=>({value:e.id,label:e.id}))),D=S(()=>(m.value.find(e=>e.id===p.provider)?.models??[]).map(e=>({value:e.id,label:e.id}))),O=S(()=>{let e=m.value.find(e=>e.id===p.provider)?.models.find(e=>e.id===p.model);return(e?.efforts??[]).map(t=>({value:t,label:t+(e?.defaultEffort===t?r(`channelSessionList.defaultSuffix`):``)}))}),M=async e=>{_.value=!0,m.value=[];try{let t=(await d.listHarnessProviders(e))?.data?.catalog;m.value=t?.providers??[],h.value=t?.effortMode??`unsupported`}catch{}finally{_.value=!1}},N=async()=>{p.provider=``,p.model=``,p.effort=``,await M(p.harness)},P=()=>{p.model=``,p.effort=``},F=()=>{p.effort=``},L=u(!1),R=u(!1),z=()=>{let e=i.channelMeta;f.name=e?.name??``,f.scenarioPrompt=e?.scenarioPrompt??``,f.workspace=e?.workspace??``;let t=null;try{let n=e;t=n?.llmJson?JSON.parse(n.llmJson):null}catch{t=null}p.enabled=!!t?.model,p.harness=`omp`,p.provider=t?.provider??``,p.model=t?.model??``,p.effort=t?.effort??``,p.enabled&&M(p.harness),U(i.channelId)};C(a,e=>{e&&z()});let B=u([]),V=u(`default`),H=u(null),U=async e=>{try{let t=(await d.listChannelPlugins(e))?.data??{};B.value=t.plugins??[],V.value=t.source===`explicit`?`explicit`:`default`}catch{}},W=async(e,t)=>{if(!H.value){H.value=e.name;try{let n=B.value.map(n=>({name:n.name,enabled:n.name===e.name?t:n.enabled})),a=(await d.putChannelPlugins(i.channelId,{plugins:n}))?.data??{};B.value=a.plugins??n.map(e=>({...e})),V.value=a.source===`explicit`?`explicit`:`default`,Y.success(r(`channelSessionList.k1plugon044`))}catch(e){Y.error(Q(e))}finally{H.value=null}}},K=async()=>{L.value=!0;try{await d.patchChannel(i.channelId,{scenarioPrompt:f.scenarioPrompt,workspace:f.workspace.trim()||void 0,llm:p.enabled&&p.model?{...p.provider?{provider:p.provider}:{},model:p.model,...p.effort?{effort:p.effort}:{}}:null}),Y.success(r(`channelSessionList.kvsxlu6031`)),a.value=!1,c(`saved`)}catch(e){Y.error(Q(e))}finally{L.value=!1}},ee=()=>{c(`save-template`,f.name)};return(e,n)=>{let i=Ee,o=Fe,c=Ue,u=ke,d=Be,m=ct,g=ze,S=tt,C=Ie,z=Ne,U=Br;return y(),T(E,null,[x(z,{open:a.value,"onUpdate:open":n[10]||=e=>a.value=e,title:e.$t(`channelSessionList.k1pmemvt039`,{p0:t(f).name}),"confirm-loading":t(L),"ok-text":e.$t(`common.save`),"cancel-text":e.$t(`common.cancel`),onOk:K},{default:A(()=>[x(C,{layout:`vertical`},{default:A(()=>[x(o,{label:e.$t(`channelSessionList.k1i8q46x007`)},{default:A(()=>[x(i,{value:t(f).scenarioPrompt,"onUpdate:value":n[0]||=e=>t(f).scenarioPrompt=e,rows:4,placeholder:e.$t(`channelSessionList.ku3ugac008`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),x(o,{label:e.$t(`channelSessionList.k67dzev009`)},{default:A(()=>[x(d,{compact:``},{default:A(()=>[x(c,{value:t(f).workspace,"onUpdate:value":n[1]||=e=>t(f).workspace=e,style:{width:`70%`},placeholder:`data/workspaces/<channelId>`,"allow-clear":``},null,8,[`value`]),x(u,{style:{width:`30%`},onClick:n[2]||=e=>R.value=!0},{default:A(()=>[I(s(e.$t(`channelSessionList.k3pz0ma018`)),1)]),_:1})]),_:1})]),_:1},8,[`label`]),x(o,{label:e.$t(`channelSessionList.llmDefaultLabel`)},{default:A(()=>[x(S,null,{default:A(()=>[x(m,{checked:t(p).enabled,"onUpdate:checked":n[3]||=e=>t(p).enabled=e,size:`small`,onChange:n[4]||=e=>{e&&M(t(p).harness)}},null,8,[`checked`]),x(g,{value:t(p).harness,"onUpdate:value":n[5]||=e=>t(p).harness=e,style:{width:`130px`},options:[{value:`omp`,label:`omp`},{value:`codex`,label:`codex`},{value:`opencode`,label:`opencode`},{value:`dsh`,label:`dsh`}],disabled:!t(p).enabled,onChange:N},null,8,[`value`,`disabled`]),x(g,{value:t(p).provider,"onUpdate:value":n[6]||=e=>t(p).provider=e,style:{width:`170px`},placeholder:t(_)?e.$t(`channelSessionList.catalogLoading`):`provider`,options:t(v),disabled:!t(p).enabled||t(_),"show-search":``,onChange:P},null,8,[`value`,`placeholder`,`options`,`disabled`]),x(g,{value:t(p).model,"onUpdate:value":n[7]||=e=>t(p).model=e,style:{width:`210px`},placeholder:`model`,options:t(D),disabled:!t(p).enabled||!t(p).provider,"show-search":``,onChange:F},null,8,[`value`,`options`,`disabled`]),t(h)===`levels`?(y(),j(g,{key:0,value:t(p).effort,"onUpdate:value":n[8]||=e=>t(p).effort=e,style:{width:`130px`},placeholder:e.$t(`channelSessionList.effortPh`),options:t(O),disabled:!t(p).enabled||!t(p).model,"allow-clear":``},null,8,[`value`,`placeholder`,`options`,`disabled`])):t(h)===`freetext`?(y(),j(c,{key:1,value:t(p).effort,"onUpdate:value":n[9]||=e=>t(p).effort=e,style:{width:`130px`},placeholder:e.$t(`channelSessionList.variantPh`),disabled:!t(p).enabled||!t(p).model,"allow-clear":``},null,8,[`value`,`placeholder`,`disabled`])):k(``,!0)]),_:1})]),_:1},8,[`label`]),x(o,{label:t(r)(`channelSessionList.k1pluglbl045`)},{default:A(()=>[t(B).length?(y(),T(`div`,Gr,[(y(!0),T(E,null,b(t(B),n=>(y(),T(`div`,{key:n.name,class:`ch-plugin-row`},[w(`div`,Kr,[w(`span`,qr,s(n.name),1),n.builtin?(y(),T(`span`,Jr,s(e.$t(`channelSessionList.builtinTag`)),1)):k(``,!0),n.description?(y(),T(`span`,Yr,s(n.description),1)):k(``,!0)]),x(m,{checked:n.enabled,size:`small`,loading:t(H)===n.name,onChange:e=>W(n,!!e)},null,8,[`checked`,`loading`,`onChange`])]))),128)),t(V)===`explicit`?k(``,!0):(y(),T(`span`,Xr,s(t(r)(`channelSessionList.k1plugsrc046`)),1))])):(y(),T(`span`,Zr,`—`))]),_:1},8,[`label`]),x(o,null,{default:A(()=>[x(u,{size:`small`,onClick:ee},{default:A(()=>[n[13]||=w(`span`,{class:`i-tabler-template`},null,-1),I(` `+s(e.$t(`channelSessionList.k6kpql010`)),1)]),_:1}),w(`span`,Qr,s(e.$t(`channelSessionList.k1x6kznr021`)),1)]),_:1})]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`,`ok-text`,`cancel-text`]),x(U,{open:t(R),"onUpdate:open":n[11]||=e=>l(R)?R.value=e:null,title:e.$t(`channelSessionList.kbdp56k013`),"initial-path":t(f).workspace||void 0,onSelect:n[12]||=e=>{t(f).workspace=e}},null,8,[`open`,`title`,`initial-path`])],64)}}}),[[`__scopeId`,`data-v-3ff76d4f`]]),{__name:`WorkshopSessionListChannelSettingsModal`}),ei={class:`ws-hint`},ti=Object.assign(X(v({__name:`SaveTemplateModal`,props:O({channelId:{},channelName:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:O([`saved`],[`update:open`]),setup(e,{emit:n}){let{t:r}=G(),i=e,a=g(e,`open`),c=n,l=$(),d=o({name:``,description:``,visibility:`private`}),f=u(!1),p=()=>{d.name=r(`channelSessionList.k2hfym5043`,{p0:i.channelName||`channel`}),d.description=``,d.visibility=`private`};C(a,e=>{e&&p()});let m=async()=>{if(!d.name.trim()){Y.warning(r(`channelSessionList.k1i0ji0y032`));return}f.value=!0;try{await l.captureChannelTemplate({channelId:i.channelId,name:d.name.trim(),description:d.description||void 0,visibility:d.visibility}),Y.success(r(`channelSessionList.kjpguxw033`)),a.value=!1,c(`saved`)}catch(e){Y.error(Q(e))}finally{f.value=!1}};return(e,n)=>{let r=Ue,i=Fe,o=Ge,c=We,l=Ie,u=Ne;return y(),j(u,{open:a.value,"onUpdate:open":n[3]||=e=>a.value=e,title:e.$t(`channelSessionList.k6kpql010`),"confirm-loading":t(f),"ok-text":e.$t(`channelSessionList.saveTplOk`),"cancel-text":e.$t(`common.cancel`),onOk:m},{default:A(()=>[x(l,{layout:`vertical`},{default:A(()=>[x(i,{label:e.$t(`channelSessionList.k1f55q76011`)},{default:A(()=>[x(r,{value:t(d).name,"onUpdate:value":n[0]||=e=>t(d).name=e},null,8,[`value`])]),_:1},8,[`label`]),x(i,{label:e.$t(`channelSessionList.k40gkk003`)},{default:A(()=>[x(r,{value:t(d).description,"onUpdate:value":n[1]||=e=>t(d).description=e},null,8,[`value`])]),_:1},8,[`label`]),x(i,{label:e.$t(`channelSessionList.k3lrqn0012`)},{default:A(()=>[x(c,{value:t(d).visibility,"onUpdate:value":n[2]||=e=>t(d).visibility=e},{default:A(()=>[x(o,{value:`private`},{default:A(()=>[I(s(e.$t(`channelSessionList.k1otvrfv022`)),1)]),_:1}),x(o,{value:`public`},{default:A(()=>[I(s(e.$t(`channelSessionList.k1cc399s023`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`]),x(i,null,{default:A(()=>[w(`span`,ei,s(e.$t(`channelSessionList.kl9btf7024`)),1)]),_:1})]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`,`ok-text`,`cancel-text`])}}}),[[`__scopeId`,`data-v-f6a8bae6`]]),{__name:`WorkshopSessionListSaveTemplateModal`}),ni={class:`channel-list`},ri={class:`list-head`},ii={class:`head-actions`},ai=[`title`],oi=[`title`],si={key:0,class:`empty`},ci=[`onClick`],li={class:`row1`},ui={class:`ch-name`},di=[`title`],fi={class:`sched-n`},pi=[`title`,`aria-label`,`onClick`],mi=[`title`,`aria-label`,`onClick`],hi={class:`row2`},gi={key:0,class:`meta syncing`},_i={key:1,class:`meta`},vi=[`title`,`onClick`],yi={class:`mount-template`},bi={class:`tpl-hint`},xi=Object.assign(X(v({__name:`ChannelSessionList`,props:{wsId:{}},setup(n){let{t:r}=G(),a=n,o=bt(),c=$(),{workspace:d,channels:f,channelTemplates:p,refreshChannels:m,mountedChannels:h,select:g,copyWorkspace:_,displayWorkspace:v}=kr(e(a,`wsId`)),S=u(!1),C=u(),D=u(!1),O=async()=>{if(C.value){D.value=!0;try{let e=(await c.mountChannelTemplate(a.wsId,C.value))?.data;if(Y.success(r(`channelSessionList.kai50qc042`,{p0:e?.agentCount??0})),C.value=void 0,m(),e?.channelId){let t=o.workspaces.find(e=>e.id===a.wsId);t&&!t.channelIds.includes(e.channelId)&&t.channelIds.push(e.channelId),o.setActiveChannel(a.wsId,e.channelId)}}catch(e){let t=e;Y.error(Q(t,r(`channelSessionList.k97xi7u029`)))}finally{D.value=!1}}},j=e=>{o.unmountChannel(a.wsId,e).catch(e=>{Y.error(Q(e,r(`channelSessionList.k1hgfvdc030`)))})},M=u(!1),N=u(``),P=u(),F=e=>{let t=f.value.find(t=>t.id===e);N.value=e,P.value=t,M.value=!0},L=u(!1),R=u(``),B=e=>{R.value=e,L.value=!0};return(e,r)=>{let a=K,o=ze;return y(),T(`div`,ni,[w(`div`,ri,[r[8]||=w(`span`,{class:`title`},`Channels`,-1),w(`span`,ii,[w(`button`,{class:`head-op im`,type:`button`,title:e.$t(`channelSessionList.tplCenterTitle`),onClick:r[0]||=n=>(`navigateTo`in e?e.navigateTo:t(U))(`/workshop/channel-templates`)},[...r[6]||=[w(`span`,{class:`i-tabler-layout-grid-add im-pop`},null,-1)]],8,ai),w(`button`,{class:`head-op im`,type:`button`,title:e.$t(`channelSessionList.newChannelTitle`),onClick:r[1]||=e=>S.value=!0},[...r[7]||=[w(`span`,{class:`i-tabler-plus im-pop`},null,-1)]],8,oi)])]),x(a,null,{default:A(()=>[t(h).length===0?(y(),T(`div`,si,s(e.$t(`channelSessionList.kkv789s014`)),1)):k(``,!0),(y(!0),T(E,null,b(t(h),n=>(y(),T(`div`,{key:n.id,class:i([`channel-item`,{active:t(d)?.activeChannelId===n.id}]),onClick:e=>t(g)(n.id)},[w(`div`,li,[w(`span`,{class:i([`dot`,{live:n.activeTasks>0}])},null,2),w(`span`,ui,s(n.name),1),n.scheduled>0?(y(),T(`span`,{key:0,class:`sched-tag`,title:e.$t(`channelSessionList.schedTagTip`,{p0:n.scheduled})},[r[9]||=w(`span`,{class:`i-tabler-clock-bolt`},null,-1),w(`span`,fi,s(n.scheduled),1)],8,di)):k(``,!0),w(`button`,{class:`op im`,type:`button`,title:e.$t(`channelSessionList.kne35ug001`),"aria-label":e.$t(`channelSessionList.kjmldih035`,{p0:n.name}),onClick:z(e=>F(n.id),[`stop`])},[...r[10]||=[w(`span`,{class:`i-tabler-settings2 im-pop`},null,-1)]],8,pi),w(`button`,{class:`op im`,type:`button`,title:e.$t(`channelSessionList.unmountTitle`),"aria-label":e.$t(`channelSessionList.k1yurooi036`,{p0:n.name}),onClick:z(e=>j(n.id),[`stop`])},[...r[11]||=[w(`span`,{class:`i-tabler-x im-pop`},null,-1)]],8,mi)]),w(`div`,hi,[n.synced?(y(),T(`span`,_i,s(n.agents)+` `+s(e.$t(`channelSessionList.k1ggoa45025`))+` `+s(n.busy)+` / `+s(e.$t(`channelSessionList.k3wcox034`))+` `+s(n.activeTasks),1)):(y(),T(`span`,gi,s(e.$t(`channelSessionList.k1bst7s9015`)),1))]),t(v)(n.workspace)?(y(),T(`button`,{key:0,class:`row2 ws im`,type:`button`,title:e.$t(`channelSessionList.kfe4pzq037`,{p0:n.workspace}),onClick:z(e=>t(_)(n.workspace),[`stop`])},[r[12]||=w(`span`,{class:`i-tabler-folder`},null,-1),I(` `+s(t(v)(n.workspace)),1)],8,vi)):k(``,!0)],10,ci))),128))]),_:1}),w(`div`,yi,[x(o,{value:t(C),"onUpdate:value":r[2]||=e=>l(C)?C.value=e:null,size:`small`,placeholder:e.$t(`channelSessionList.mountFromTpl`),class:`select`,loading:t(D),options:t(p).map(t=>({value:t.id,label:e.$t(`channelSessionList.k1oes209038`,{p0:t.isBuiltin?e.$t(`channelSessionList.pfxBuiltin`):t.visibility===`public`?e.$t(`channelSessionList.pfxPublic`):``,p1:t.name,p2:+!!t.lead+t.members.length})})),onChange:O},null,8,[`value`,`placeholder`,`loading`,`options`]),w(`div`,bi,s(e.$t(`channelSessionList.k18ppu31016`)),1)]),x(Wr,{open:t(S),"onUpdate:open":r[3]||=e=>l(S)?S.value=e:null,"ws-id":n.wsId,onMounted:t(m)},null,8,[`open`,`ws-id`,`onMounted`]),x($r,{open:t(M),"onUpdate:open":r[4]||=e=>l(M)?M.value=e:null,"channel-id":t(N),"channel-meta":t(P),onSaved:t(m),onSaveTemplate:B},null,8,[`open`,`channel-id`,`channel-meta`,`onSaved`]),x(ti,{open:t(L),"onUpdate:open":r[5]||=e=>l(L)?L.value=e:null,"channel-id":t(N),"channel-name":t(R),onSaved:t(m)},null,8,[`open`,`channel-id`,`channel-name`,`onSaved`])])}}}),[[`__scopeId`,`data-v-140079b6`]]),{__name:`WorkshopChannelSessionList`}),Si={class:`live-bar`},Ci={key:0,class:`live-idle`},wi={class:`idle-text`},Ti=[`title`],Ei={class:`live-ava`},Di={class:`live-text`},Oi={class:`live-name`},ki={class:`live-detail`},Ai=[`aria-expanded`,`title`],ji={class:`live-pop`},Mi={class:`live-pop-title`},Ni=[`onClick`],Pi={class:`live-pop-text`},Fi={class:`live-pop-name`},Ii={class:`live-pop-detail`},Li=Object.assign(X(v({__name:`LiveAgentBar`,props:{wsId:{}},emits:[`openAgent`],setup(e,{emit:n}){let{t:r}=G(),i=e,o=n,c=bt(),l=Z(),d=S(()=>c.workspaces.find(e=>e.id===i.wsId)),f=S(()=>{let e=[];for(let t of d.value?.channelIds??[])for(let n of l.agents[t]??[])n.state===`busy`&&e.push({...n,channelId:t,taskLabel:n.currentTaskId?l.taskTitle(t,n.currentTaskId):n.queued?r(`liveAgentBar.k68d2a2006`,{p0:n.queued}):r(`liveAgentBar.k3o5tz9005`)});return e}),p=u(!1),m=e=>e.trim().charAt(0).toUpperCase(),h=e=>{p.value=!1,o(`openAgent`,{channelId:e.channelId,agentId:e.agentId})};return(e,n)=>(y(),T(`div`,Si,[t(f).length===0?(y(),T(`div`,Ci,[n[3]||=w(`span`,{class:`idle-dot`,"aria-hidden":`true`},null,-1),w(`span`,wi,s(e.$t(`liveAgentBar.kr4bxgp001`)),1)])):(y(),T(E,{key:1},[w(`button`,{type:`button`,class:`live-main`,title:e.$t(`liveAgentBar.kh66fan003`,{p0:t(f)[0].name}),onClick:n[0]||=e=>h(t(f)[0])},[w(`span`,Ei,[w(`span`,{class:`aw-avatar is-agent live-avatar`,style:a({"--av":t(Gn)(t(f)[0].agentId)})},s(m(t(f)[0].name)),5),n[4]||=w(`span`,{class:`live-pip`,"aria-hidden":`true`},null,-1)]),w(`span`,Di,[w(`span`,Oi,s(t(f)[0].name),1),w(`span`,ki,s(t(f)[0].taskLabel),1)])],8,Ti),t(f).length>1?(y(),T(`button`,{key:0,type:`button`,class:`live-more`,"aria-haspopup":`true`,"aria-expanded":t(p),title:e.$t(`liveAgentBar.k1a39d92004`,{p0:t(f).length-1}),onClick:n[1]||=e=>p.value=!t(p)},` +`+s(t(f).length-1),9,Ai)):k(``,!0),t(p)&&t(f).length>1?(y(),T(E,{key:1},[w(`div`,{class:`live-backdrop`,onClick:n[2]||=e=>p.value=!1}),w(`div`,ji,[w(`div`,Mi,s(e.$t(`liveAgentBar.k1sf0ymy002`))+` `+s(t(f).length),1),(y(!0),T(E,null,b(t(f),e=>(y(),T(`button`,{key:e.agentId,type:`button`,class:`live-pop-item`,onClick:t=>h(e)},[w(`span`,{class:`aw-avatar is-agent live-avatar-sm`,style:a({"--av":t(Gn)(e.agentId)})},s(m(e.name)),5),w(`span`,Pi,[w(`span`,Fi,s(e.name),1),w(`span`,Ii,s(e.taskLabel),1)]),n[5]||=w(`span`,{class:`pop-dot`,"aria-hidden":`true`},null,-1)],8,Ni))),128))])],64)):k(``,!0)],64))]))}}),[[`__scopeId`,`data-v-8f6c62e6`]]),{__name:`WorkshopLiveAgentBar`}),Ri={class:`left-scroll`},zi=Object.assign(X(v({__name:`LeftPane`,props:{wsId:{},leftWidth:{},narrow:{type:Boolean}},emits:[`openAgent`],setup(e,{emit:t}){let n=t;return(t,r)=>{let i=xi,o=Li;return y(),T(`div`,{class:`left-pane`,style:a({flexBasis:e.narrow?`auto`:`${e.leftWidth}px`})},[w(`div`,Ri,[x(i,{"ws-id":e.wsId},null,8,[`ws-id`])]),x(o,{"ws-id":e.wsId,onOpenAgent:r[0]||=e=>n(`openAgent`,e)},null,8,[`ws-id`])],4)}}}),[[`__scopeId`,`data-v-8a7594a2`]]),{__name:`WorkshopConsoleLeftPane`}),Bi=160,Vi=Object.freeze([]),Hi=8,Ui=new Set([`agent.message`,`a2a.artifact`,`error`,`task.status`,`a2a.message`,`agent.member`,`agent.status`]);function Wi(e,t={}){let i=_t(),a=new er,o=r(a.blocks),s=S(()=>n(e)??``),l=S(()=>i.filters[s.value]??`all`),u=S(()=>i.focusAgents[s.value]??null),d=S(()=>n(t.resetKey)),f=S(()=>t.predicate??null),p=S(()=>n(t.agentId)??``),m=S(()=>t.raw?s.value?t.agentId?i.agentEvents(s.value,p.value):i.ring(s.value).items:Vi:s.value?i.timeline(s.value):Vi),h=S(()=>(d.value,t.agentId?m.value:f.value?m.value.filter(f.value):m.value)),g=null,_=!1,v=e=>{if(e.length===0)return e;let t=e.length-1;return e.filter((e,n)=>{if(e.kind!==`stream`)return!0;let r=Qn(e).trim();return!(!r&&!e.overrideText||n===t&&!e.settled&&r.length<Hi)})},y=()=>{g!=null&&(clearTimeout(g),g=null),o.value=v(a.blocks)},b=e=>{if(e||_){_=!1,y();return}g??=setTimeout(y,Bi)};return c(()=>{g!=null&&clearTimeout(g)}),t.raw?C([s,f,d,p],()=>{a.reset(),_=!0},{immediate:!0}):C([s,l,u,f,d],()=>{a.reset(),_=!0},{immediate:!0}),C(h,e=>{let t=e[e.length-1],n=t!=null&&Ui.has(t.type);a.sync(e),b(n)},{immediate:!0}),{blocks:o,totalEvents:S(()=>h.value.length),clusterer:a}}var Gi=!1;function Ki(){Gi||typeof document>`u`||(Gi=!0,document.addEventListener(`click`,e=>{let t=e.target?.closest?.(`.code-copy`);if(!(t instanceof HTMLElement))return;let n=t.closest(`.code-block`)?.querySelector(`pre code`)?.textContent??``,r=()=>{let e=t.textContent;t.textContent=`已复制`,setTimeout(()=>{t.textContent=e??`复制`},1400)};navigator.clipboard?.writeText?navigator.clipboard.writeText(n).then(r,r):r()}))}function qi(e){let t=u(new Map),n=0,r=0,i=Date.now();return C(e,(e,a)=>{let o=new Set((a??[]).map(e=>e.id)),s=e.filter(e=>!o.has(e.id)),c=new Map,l=s.length===0||s.length>Math.max(8,Math.ceil(e.length*.4))||Date.now()-i<1500;if(!l){let e=Date.now();e-n>600&&(n=e,r=0)}for(let t of e){let e=!o.has(t.id)&&!l?Math.min(r++,7)*60:-1;c.set(t.id,{enter:e>=0,delay:Math.max(0,e)})}t.value=c},{immediate:!0}),{staged:t}}function Ji(e){let t=u(null),n=u(!0),r=u(!1),i=u(null),a=null,o=()=>{let e=t.value;e&&(n.value=e.scrollHeight-e.scrollTop-e.clientHeight<120)},s=(e,t)=>new Promise(n=>{if(window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){e.scrollTop=e.scrollHeight,n();return}let r=e.scrollTop,i=e.scrollHeight-e.clientHeight-r,a=performance.now(),o=s=>{let c=Math.min(1,(s-a)/t),l=1-(1-c)**3;e.scrollTop=r+i*l,c<1?requestAnimationFrame(o):n()};requestAnimationFrame(o)}),c=async()=>{n.value=!0;let e=t.value;if(e){r.value=!0;try{await s(e,800)}finally{r.value=!1}}},l=async()=>{if(!n.value)return;await D();let e=t.value;e&&(e.scrollTop=e.scrollHeight)};return C(e.blockCount,()=>{l()}),C(e.lastSeq,()=>{l()}),_(()=>{let e=t.value,r=i.value;if(!e||!r||typeof ResizeObserver>`u`)return;let o=new ResizeObserver(()=>{n.value&&(e.scrollTop=e.scrollHeight)});o.observe(r),a=o}),h(()=>{a?.disconnect(),a=null}),{scroller:t,columnEl:i,stickBottom:n,scrollingDown:r,onScroll:o,jumpToLatest:c}}function Yi(e,t){let r=_t(),i=u(!1),a=u(!1),o=S(()=>r.ring(n(e)).items.length);return{loadingEarlier:i,earlierExhausted:a,loadedCount:o,maybeMore:S(()=>!a.value&&o.value>0),loadEarlier:async()=>{if(i.value||a.value)return;i.value=!0;let o=t.value,s=o?{top:o.scrollTop,height:o.scrollHeight}:null;try{await r.loadEarlier(n(e))||(a.value=!0),o&&s&&(await D(),o.scrollTop=o.scrollHeight-s.height+s.top)}catch{}finally{i.value=!1}}}}var Xi=u(null);function Zi(){return{quoteText:Xi,quote:e=>{Xi.value=e}}}function Qi(e){let t=Z(),{quote:r}=Zi(),i=S(()=>n(e)),a=S(()=>i.value.events[0]?.channelId??``),o=S(()=>xt(i.value.firstAt)),s=S(()=>{let e=i.value.agentId;return e?t.agentName(a.value,e):`system`}),c=S(()=>{if(i.value.agentId)return null;let e=i.value.events[0];if(!e||e.type!==`a2a.message`)return null;let t=(e.payload.metadata??{})[`x-aw-from-label`];return typeof t==`string`&&t?t:null}),l=S(()=>{let e=i.value.agentId;return e?(t.agentName(a.value,e)||e).charAt(0).toUpperCase():``}),d=S(()=>i.value.agentId?Gn(i.value.agentId):void 0),p=S(()=>Hn[i.value.kind]),m=f(`aw:open-agent`,()=>{}),h=()=>{i.value.agentId&&m({channelId:a.value,agentId:i.value.agentId})},g=S(()=>{let e=i.value.agentId;if(!e)return``;let n=(t.agents[a.value]??[]).find(t=>t.agentId===e);if(!n)return`agent`;let r=n.role===`lead`?`lead`:`worker`,o=n.harness??``;return o?`${r} · ${o}`:r}),_=S(()=>ft(i.value.events)),v=S(()=>{let e=i.value.agentId;return e?(t.agents[a.value]??[]).find(t=>t.agentId===e)?.state??null:null}),y=S(()=>i.value.kind===`stream`&&!i.value.settled&&v.value===`busy`),b=S(()=>i.value.events[0]?.seq??0),x=S(()=>i.value.kind===`stream`?Qn(i.value).trim()||null:i.value.kind===`route`&&i.value.events.map(e=>(e.payload.parts??[]).map(e=>e.text??``).join(`
|
|
10
|
+
`).trim()).filter(Boolean).join(`
|
|
11
|
+
`)||null),C=u(!1);return{cid:a,time:o,agentLabel:s,humanLabel:c,agentInitial:l,avColor:d,meta:p,roleLabel:g,tier:_,agentState:v,runningNow:y,firstSeq:b,toolbarText:x,copied:C,copyAll:async()=>{let e=x.value;if(e)try{await navigator.clipboard.writeText(e),C.value=!0,setTimeout(()=>{C.value=!1},1400)}catch{}},quoteToComposer:()=>{let e=x.value;e&&r(e)},onAvatarClick:h}}var $i=[`title`],ea={key:0,class:`i-tabler-user system-icon`},ta={key:1,class:`i-tabler-cpu system-icon`},na=[`title`],ra=Object.assign(X(v({__name:`EventBlockAvatar`,props:{block:{}},setup(e){let n=e,{humanLabel:r,agentLabel:o,roleLabel:c,agentInitial:l,avColor:u,agentState:d,onAvatarClick:f}=Qi(()=>n.block);return(n,p)=>(y(),T(`button`,{type:`button`,class:i([`agent-avatar`,{"is-agent":!!e.block.agentId,"is-human":!!t(r),clickable:!!e.block.agentId}]),title:t(r)??`${t(o)}${t(c)?` · ${t(c)}`:``}`,style:a(t(u)?{"--av":t(u)}:void 0),onClick:p[0]||=(...e)=>t(f)&&t(f)(...e)},[t(r)?(y(),T(`span`,ea)):e.block.agentId?(y(),T(E,{key:2},[I(s(t(l)),1)],64)):(y(),T(`span`,ta)),e.block.agentId&&t(d)?(y(),T(`span`,{key:3,class:i([`av-status`,t(d)]),title:t(d)===`busy`?n.$t(`eventBlock.stBusy`):t(d)===`stopped`?n.$t(`eventBlock.stStopped`):n.$t(`eventBlock.stIdle`)},null,10,na)):k(``,!0)],14,$i))}}),[[`__scopeId`,`data-v-37c7e436`]]),{__name:`WorkshopBlocksEventBlockAvatar`}),ia={class:`block-head`},aa={class:`agent-name`},oa={key:0,class:`role-label`},sa=[`title`],ca={class:`head-right`},la={key:0,class:`running-chip`},ua=[`title`],da={key:2,class:`merged`},fa={class:`kind-chip`},pa={class:`time`},ma={key:2,class:`eb-toolbar`},ha=[`title`],ga=[`title`],_a=Object.assign(X(v({__name:`EventBlockHead`,props:{block:{},compact:{type:Boolean}},setup(e){let n=e,{humanLabel:r,agentLabel:a,roleLabel:o,tier:c,runningNow:l,meta:u,time:d,toolbarText:f,copied:p,copyAll:m,quoteToComposer:h}=Qi(()=>n.block);return(n,g)=>M((y(),T(`header`,ia,[w(`span`,aa,s(t(r)??t(a)),1),t(o)?(y(),T(`span`,oa,s(t(o)),1)):k(``,!0),t(c)===`attention`?(y(),T(`span`,{key:1,class:`tier-attention`,title:n.$t(`eventBlock.kc918hn001`)},[g[2]||=w(`span`,{class:`i-tabler-alert-circle`},null,-1),I(s(n.$t(`eventBlock.k3wmcv4004`)),1)],8,sa)):k(``,!0),w(`span`,ca,[t(l)?(y(),T(`span`,la,[g[3]||=w(`span`,{class:`running-dot`},null,-1),I(s(n.$t(`eventBlock.k3vp67i005`)),1)])):k(``,!0),e.block.folded>0?(y(),T(`span`,{key:1,class:`folded`,title:n.$t(`eventBlock.kcugdph002`)},s(n.$t(`eventBlock.k3xk4t006`))+` `+s(e.block.folded),9,ua)):k(``,!0),e.block.events.length>1?(y(),T(`span`,da,`×`+s(e.block.events.length),1)):k(``,!0),w(`span`,fa,s(t(u).label),1),w(`span`,pa,s(t(d)),1)]),t(f)?(y(),T(`span`,ma,[w(`button`,{type:`button`,class:`eb-tool`,title:t(p)?n.$t(`eventBlock.copied`):n.$t(`eventBlock.copyAll`),onClick:g[0]||=(...e)=>t(m)&&t(m)(...e)},[w(`span`,{class:i(t(p)?`i-tabler-check`:`i-tabler-copy`)},null,2)],8,ha),w(`button`,{type:`button`,class:`eb-tool`,title:n.$t(`eventBlock.kknq700003`),onClick:g[1]||=(...e)=>t(h)&&t(h)(...e)},[...g[4]||=[w(`span`,{class:`i-tabler-quote`},null,-1)]],8,ga)])):k(``,!0)],512)),[[B,!e.compact]])}}),[[`__scopeId`,`data-v-e966c298`]]),{__name:`WorkshopBlocksEventBlockHead`}),va={key:0,class:`stream-covered`},ya={class:`stream-text prose`},ba=[`innerHTML`],xa={key:0,class:`cursor`},Sa={key:2,class:`stream-pending`},Ca=Object.assign(X(v({__name:`ClusterStream`,props:{block:{}},setup(e){let t=e,n=Z(),r=f(`aw:open-agent`,()=>{}),a=S(()=>t.block.events[0]?.channelId??``),o=S(()=>(n.agents[a.value]??[]).map(e=>({agentId:e.agentId,name:e.name}))),c=e=>{let t=e.target.closest(`.md-mention`);if(!t)return;let n=t.dataset.agentId;n&&r({channelId:a.value,agentId:n})},l=S(()=>Qn(t.block)),d=S(()=>qn(t.block)),p=u(0),m=null,g=()=>{m!==null&&(cancelAnimationFrame(m),m=null)},v=()=>{let e=l.value.length;if(p.value>=e){m=null;return}let t=e-p.value,n=Math.max(24,Math.min(1024,Math.ceil(t/16)));p.value=Math.min(e,p.value+n),m=requestAnimationFrame(v)},b=()=>{m===null&&(m=requestAnimationFrame(v))},x=()=>typeof document<`u`&&document.hidden;C([l,()=>t.block.settled],([e,t])=>{if(!e){p.value=0;return}if(t||e.length-p.value>4e3||x()){g(),p.value=e.length;return}p.value>e.length&&(p.value=e.length),p.value<e.length&&b()},{immediate:!0});let E=()=>{document.hidden||p.value<l.value.length&&(g(),b())};_(()=>{document.addEventListener(`visibilitychange`,E),t.block.settled||x()?p.value=l.value.length:(p.value=Math.min(p.value,l.value.length),b())}),h(()=>{g(),document.removeEventListener(`visibilitychange`,E)});let D=S(()=>$n(l.value.length,p.value,d.value)),O=S(()=>cr(l.value.slice(0,p.value),o.value));return(t,n)=>e.block.coveredBy?(y(),T(`div`,va,[n[0]||=w(`span`,{class:`i-tabler-corner-right-up`},null,-1),w(`span`,null,s(t.$t(`clusterStream.kpk9wff001`)),1)])):l.value?(y(),T(`div`,{key:1,class:i([`stream-bubble`,{settled:e.block.settled}]),onClick:c},[w(`div`,ya,[w(`span`,{innerHTML:O.value},null,8,ba),D.value?(y(),T(`span`,xa,`▋`)):k(``,!0)])],2)):d.value?(y(),T(`div`,Sa,[...n[1]||=[w(`span`,{class:`pending-dot`},null,-1),w(`span`,{class:`pending-dot`},null,-1),w(`span`,{class:`pending-dot`},null,-1)]])):k(``,!0)}}),[[`__scopeId`,`data-v-d381d8b3`]]),{__name:`WorkshopBlocksClusterStream`}),wa={class:`tool-cluster`},Ta={class:`tool-time aw-mono`},Ea={class:`tool-name`},Da=[`title`],Oa={key:1,class:`tool-kind`},ka=4,Aa=Object.assign(X(v({__name:`ClusterTool`,props:{block:{}},setup(e){let t=e,n=S(()=>t.block.events.map(e=>{let t=String(e.payload.text??``).match(/^🔧\s*(\S+?)(?:\(([\s\S]*)\))?$/),n=t?.[1]??`tool`,r=t?.[2]??``;return{seq:e.seq,time:xt(e.at),name:n,args:r,meta:Vn[n]??{icon:`i-tabler-tool`,kind:`native`}}})),r=u(!1),a=S(()=>r.value?n.value:n.value.slice(0,ka)),o=S(()=>n.value.length>ka);return(e,t)=>(y(),T(`div`,wa,[(y(!0),T(E,null,b(a.value,e=>(y(),T(`div`,{key:e.seq,class:i([`tool-line`,e.meta.kind])},[w(`time`,Ta,s(e.time),1),t[1]||=w(`span`,{class:`tool-node`},null,-1),w(`span`,{class:i([`tool-icon`,e.meta.icon])},null,2),w(`span`,Ea,s(e.name),1),e.args?(y(),T(`span`,{key:0,class:`tool-args`,title:e.args},s(e.args),9,Da)):k(``,!0),e.meta.kind===`host`?(y(),T(`span`,Oa,`harness`)):k(``,!0)],2))),128)),o.value?(y(),T(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>r.value=!r.value},s(r.value?e.$t(`clusterTool.k40p82001`):e.$t(`clusterTool.expandAll`,{p0:n.value.length})),1)):k(``,!0)]))}}),[[`__scopeId`,`data-v-8d0f2345`]]),{__name:`WorkshopBlocksClusterTool`}),ja={class:`status-cluster`},Ma=[`aria-expanded`],Na={class:`st-label`},Pa={class:`st-count`},Fa={key:0,class:`st-preview`},Ia={key:0,class:`st-detail`},La={class:`st-text`},Ra=Object.assign(X(v({__name:`ClusterStatus`,props:{block:{}},setup(e){let{t}=G(),n=e,r=S(()=>n.block.events.map(e=>({seq:e.seq,text:String(e.payload.text??``)}))),a=S(()=>{let e=r.value[r.value.length-1];if(!e)return t(`clusterStatus.empty`);let n=(e.text.split(`
|
|
12
|
+
`).find(e=>e.trim().length>0)??``).replace(/\s+/g,` `).trim();return n.length>120?`${n.slice(0,120)}…`:n||t(`clusterStatus.empty`)}),o=u(!1),c=()=>{o.value=!o.value};return(e,t)=>(y(),T(`div`,ja,[w(`button`,{class:`st-toggle`,"aria-expanded":o.value,onClick:c},[w(`span`,{class:i([`chev`,{open:o.value}])},`▸`,2),w(`span`,Na,s(e.$t(`clusterStatus.k1fpy8te001`)),1),w(`span`,Pa,s(r.value.length),1),o.value?k(``,!0):(y(),T(`span`,Fa,s(a.value),1))],8,Ma),o.value?(y(),T(`div`,Ia,[(y(!0),T(E,null,b(r.value,e=>(y(),T(`div`,{key:e.seq,class:`st-line`},[t[0]||=w(`span`,{class:`st-mark`},`·`,-1),w(`pre`,La,s(e.text),1)]))),128))])):k(``,!0)]))}}),[[`__scopeId`,`data-v-dd6205eb`]]),{__name:`WorkshopBlocksClusterStatus`}),za={class:`life-cluster`},Ba=[`data-state`],Va={key:1,class:`life-row`},Ha={class:`life-state`},Ua=[`title`],Wa={class:`life-meta`},Ga={key:1,class:`life-count`},Ka={key:2,class:`life-row`},qa=Object.assign(X(v({__name:`ClusterLife`,props:{block:{}},setup(e){let t=e,n=Z(),r=S(()=>{let e=t.block.events[t.block.events.length-1];if(!e||e.type!==`agent.status`)return null;let n=e.payload;return{state:n.state,currentTaskId:n.currentTaskId??null,queued:n.queued??0,completed:n.completed??0,transitions:t.block.events.length,channelId:e.channelId}}),i=S(()=>{let e=r.value;if(!e?.currentTaskId)return``;let t=n.taskTitle(e.channelId,e.currentTaskId);return t&&t!==e.currentTaskId?t:e.currentTaskId.slice(0,12)});return(e,t)=>(y(),T(`div`,za,[r.value?(y(),T(`span`,{key:0,class:`life-dot`,"data-state":r.value.state},null,8,Ba)):k(``,!0),r.value?(y(),T(`div`,Va,[w(`span`,Ha,s(r.value.state),1),i.value?(y(),T(`span`,{key:0,class:`life-task`,title:r.value.currentTaskId??``},`「`+s(i.value)+`」`,9,Ua)):k(``,!0),w(`span`,Wa,s(e.$t(`clusterLife.k498bf002`))+` `+s(r.value.queued)+` · `+s(e.$t(`clusterLife.done`))+` `+s(r.value.completed),1),r.value.transitions>1?(y(),T(`span`,Ga,s(r.value.transitions)+` `+s(e.$t(`clusterLife.k3pi5z1003`)),1)):k(``,!0)])):(y(),T(`span`,Ka,s(e.$t(`clusterLife.k1xthifv001`)),1))]))}}),[[`__scopeId`,`data-v-f7b93a69`]]),{__name:`WorkshopBlocksClusterLife`}),Ja={class:`chat-meta`},Ya=[`title`],Xa=[`data-agent-id`,`title`],Za={key:2,class:`to-arrow`,"aria-hidden":`true`},Qa=[`data-agent-id`,`title`],$a={key:4,class:`who-broadcast`},eo=[`data-tone`],to=[`title`],no=[`title`],ro={class:`chat-time aw-mono`},io=[`innerHTML`],ao=4,oo=Object.assign(X(v({__name:`ClusterRoute`,props:{block:{}},setup(e){let{t:n}=G(),r=e,o=Z(),c=f(`aw:open-agent`,()=>{}),l=S(()=>r.block.events.map((e,t)=>{let r=e.payload.metadata??{},i=typeof r[`x-aw-from-agent`]==`string`?r[`x-aw-from-agent`]:``,a=typeof r[`x-aw-from-label`]==`string`?r[`x-aw-from-label`]:``,o=typeof r[`x-aw-target-agent`]==`string`?r[`x-aw-target-agent`]:``,s=r[`x-aw-msg-priority`]===`immediate`?`immediate`:`task`,c=typeof r[`x-aw-task-kind`]==`string`?r[`x-aw-task-kind`]:``,l=c===`assign`?{icon:`i-tabler-send`,label:n(`clusterRoute.k1ax44eo005`),tone:`assign`}:c===`cancel`?{icon:`i-tabler-circle-x`,label:n(`clusterRoute.k1bsct42006`),tone:`notice`}:c===`child-completed`?{icon:`i-tabler-circle-check`,label:n(`clusterRoute.k1ax087h007`),tone:`notice`}:s===`immediate`?{icon:`i-tabler-bolt`,label:n(`clusterRoute.k1cxjc4m008`),tone:`immediate`}:{icon:`i-tabler-message`,label:n(`clusterRoute.k1bka5dz009`),tone:`peer`},u=e.payload.parts??[],d=r[`x-aw-in-reply-to`];return{seq:e.seq,i:t,channelId:e.channelId,from:i,fromLabel:a,to:o,kind:l,text:u.map(e=>e.text??``).join(`
|
|
13
|
+
`).trim(),time:xt(e.at),requireReply:r[`x-aw-require-reply`]===`true`,inReplyTo:typeof d==`string`?d:``}})),d=S(()=>r.block.events[0]?.channelId??``),p=S(()=>(o.agents[d.value]??[]).map(e=>({agentId:e.agentId,name:e.name}))),m=e=>e?o.agentName(d.value,e):``,h=e=>e.trim().charAt(0).toUpperCase(),g=S(()=>l.value.map(e=>cr(e.text,p.value))),_=e=>{let t=e.target.closest(`.md-mention, .who-pill`);if(!t)return;let n=t.dataset.agentId;n&&c({channelId:d.value,agentId:n})},v=u(!1),x=S(()=>v.value?l.value:l.value.slice(0,ao)),C=S(()=>v.value?g.value:g.value.slice(0,ao)),D=S(()=>l.value.length>ao);return(e,n)=>(y(),T(`div`,{class:`route-cluster`,onClick:_},[(y(!0),T(E,null,b(x.value,(r,o)=>(y(),T(`div`,{key:r.seq,class:`chat-row`},[w(`div`,Ja,[r.fromLabel&&!r.from?(y(),T(`span`,{key:0,class:`human-chip`,title:e.$t(`clusterRoute.k12448jn010`,{p0:r.fromLabel})},[n[1]||=w(`span`,{class:`i-tabler-user`},null,-1),I(` `+s(r.fromLabel),1)],8,Ya)):k(``,!0),r.from?(y(),T(`button`,{key:1,type:`button`,class:`who-pill from`,"data-agent-id":r.from,title:e.$t(`clusterRoute.khsfl59011`,{p0:m(r.from)})},[w(`span`,{class:`aw-avatar is-agent who-ava`,style:a({"--av":t(Gn)(r.from)})},s(h(m(r.from))),5),I(` @`+s(m(r.from)),1)],8,Xa)):k(``,!0),r.to?(y(),T(`span`,Za,`→`)):k(``,!0),r.to?(y(),T(`button`,{key:3,type:`button`,class:`who-pill`,"data-agent-id":r.to,title:e.$t(`clusterRoute.khsfl59011`,{p0:m(r.to)})},` @`+s(m(r.to)),9,Qa)):(y(),T(`span`,$a,s(e.$t(`clusterRoute.kyza1ya002`)),1)),w(`span`,{class:`route-badge`,"data-tone":r.kind.tone},[w(`span`,{class:i(r.kind.icon)},null,2),I(s(r.kind.label),1)],8,eo),r.requireReply?(y(),T(`span`,{key:5,class:`route-badge receipt`,title:e.$t(`clusterRoute.kfbpe32001`)},[n[2]||=w(`span`,{class:`i-tabler-message-reply`},null,-1),I(s(e.$t(`clusterRoute.k3wn89c003`)),1)],8,to)):k(``,!0),r.inReplyTo?(y(),T(`span`,{key:6,class:`route-badge reply-link aw-mono`,title:e.$t(`clusterRoute.k94hqp2012`,{p0:r.inReplyTo})},`↩ `+s(r.inReplyTo.slice(0,8)),9,no)):k(``,!0),w(`span`,ro,s(r.time),1)]),r.text?(y(),T(`div`,{key:0,class:`chat-body prose`,innerHTML:C.value[o]},null,8,io)):k(``,!0)]))),128)),D.value?(y(),T(`button`,{key:0,class:`more-btn`,onClick:n[0]||=e=>v.value=!v.value},s(v.value?e.$t(`clusterRoute.k40p82004`):e.$t(`clusterRoute.k13ewgum013`,{p0:l.value.length})),1)):k(``,!0)]))}}),[[`__scopeId`,`data-v-ef9dc289`]]),{__name:`WorkshopBlocksClusterRoute`}),so={class:`task-cluster`},co={key:0,class:`chain-arrow`},lo=[`data-state`,`title`],uo={class:`state-code`},fo={class:`task-title`},po={key:0,class:`task-assignee`},mo=Object.assign(X(v({__name:`ClusterTask`,props:{block:{}},setup(e){let{t}=G(),n=e,r=Z(),i=S(()=>n.block.events[0]?.channelId??``),o=S(()=>{let e=[];for(let t of n.block.events){if(t.type!==`task.status`)continue;let n=String(t.payload.state);e[e.length-1]!==n&&e.push(n)}return e}),c=S(()=>{let e=n.block.events.find(e=>e.type===`task.status`||e.type===`task.progress`),t=e?String(e.payload.taskId??``):``;return r.taskTitle(i.value,t)}),l=S(()=>{let e=n.block.events.find(e=>e.type===`task.status`&&e.payload.assigneeId);return e?r.agentName(i.value,e.payload.assigneeId):``}),u=S(()=>{let e=0;for(let t of n.block.events)t.type===`task.progress`&&(e=Math.max(e,t.payload.progress));return e}),d=S(()=>{let e=-1;for(let t of n.block.events)t.type===`task.progress`&&(e=Math.max(e,t.payload.progress));return e>=0}),f={SUBMITTED:{bg:`var(--tone-neutral-bg)`,dot:`var(--tone-neutral-dot)`},ASSIGNED:{bg:`var(--tone-info-bg)`,dot:`var(--tone-info-dot)`},WORKING:{bg:`var(--tone-info-bg)`,dot:`var(--tone-info-dot)`},WAITING:{bg:`var(--tone-warning-bg)`,dot:`var(--tone-warning-dot)`},COMPLETED:{bg:`var(--tone-success-bg)`,dot:`var(--tone-success-dot)`},FAILED:{bg:`var(--tone-danger-bg)`,dot:`var(--tone-danger-dot)`},CANCELED:{bg:`var(--tone-neutral-bg)`,dot:`var(--tone-neutral-dot)`}},p=e=>f[e]??f.SUBMITTED,m={SUBMITTED:t(`clusterTask.k3n8lhn001`),ASSIGNED:t(`clusterTask.k3n8mf0002`),WORKING:t(`clusterTask.k3o5tz9003`),WAITING:t(`clusterTask.k1hpsvap004`),COMPLETED:t(`clusterTask.k10w8u89005`),FAILED:t(`clusterTask.k4u7566006`),CANCELED:t(`clusterTask.k3n5vg5007`)},h=e=>m[e]??e;return(e,t)=>{let n=Bn;return y(),T(`div`,so,[(y(!0),T(E,null,b(o.value,(t,n)=>(y(),T(E,{key:t},[n>0?(y(),T(`span`,co,`→`)):k(``,!0),w(`span`,{class:`state-chip`,style:a({background:p(t).bg}),"data-state":t,title:e.$t(`clusterTask.kfwdcd4008`,{p0:t})},[w(`span`,{class:`state-dot`,style:a({background:p(t).dot})},null,4),I(s(h(t)),1),w(`span`,uo,s(t),1)],12,lo)],64))),128)),w(`span`,fo,s(c.value),1),l.value?(y(),T(`span`,po,`→ `+s(l.value),1)):k(``,!0),d.value?(y(),j(n,{key:1,percent:u.value,size:`small`,class:`progress`,"show-info":!0},null,8,[`percent`])):k(``,!0)])}}}),[[`__scopeId`,`data-v-cdaa9d8e`]]),{__name:`WorkshopBlocksClusterTask`}),ho={class:`artifact-head`},go={class:`tag`},_o={class:`name`},vo=Object.assign(X(v({__name:`ArtifactCard`,props:{artifact:{}},setup(e){let n=e,r=S(()=>n.artifact.parts.map(e=>e.text??``).join(`
|
|
14
|
+
`).trim()),a=S(()=>{let e=r.value;if(!e)return!1;try{return JSON.parse(e),!0}catch{return!1}}),o=S(()=>n.artifact.name===`deliverable`||n.artifact.name===`summary`||n.artifact.name===`result`||n.artifact.name===`goal-summary`),c=S(()=>{switch(n.artifact.name){case`deliverable`:return`i-tabler-package`;case`summary`:return`i-tabler-list-check`;case`result`:return`i-tabler-circle-check`;case`output`:return`i-tabler-file-text`;case`input`:return`i-tabler-inbox`;case`goal-summary`:return`i-tabler-flag`;default:return`i-tabler-receipt-2`}}),l=u(!1),d=S(()=>{let e=r.value;return e.length>200&&!l.value?`${e.slice(0,200)}…`:e}),f=u(!1),p=async()=>{try{await navigator.clipboard.writeText(r.value),f.value=!0,setTimeout(()=>{f.value=!1},1500)}catch{}};return(n,r)=>{let u=ke;return y(),T(`div`,{class:i([`artifact-card`,{deliverable:t(o)}])},[w(`div`,ho,[w(`span`,go,[w(`span`,{class:i(t(c))},null,2)]),w(`span`,_o,s(e.artifact.name??`artifact`),1),x(u,{size:`small`,type:`text`,class:`op`,onClick:r[0]||=e=>l.value=!t(l)},{default:A(()=>[I(s(t(l)?n.$t(`artifactCard.k40p82001`):n.$t(`artifactCard.k3yu62003`)),1)]),_:1}),x(u,{size:`small`,type:`text`,class:`op`,onClick:p},{default:A(()=>[I(s(t(f)?n.$t(`artifactCard.k3n6o1m002`):n.$t(`artifactCard.k3y694004`)),1)]),_:1})]),w(`pre`,{class:i([`artifact-body`,{json:t(a)}])},s(t(d)||n.$t(`artifactCard.empty`)),3)],2)}}}),[[`__scopeId`,`data-v-64e0e27f`]]),{__name:`WorkshopArtifactCard`}),yo={class:`artifact-cluster`},bo={key:0,class:`dup-note`},xo=Object.assign(X(v({__name:`ClusterArtifact`,props:{block:{}},setup(e){let t=e,n=S(()=>t.block.events.filter(e=>e.type===`a2a.artifact`).map(e=>e.payload.artifact)),r=S(()=>!t.block.dupStream),i=u(t.block.dupStream);return(t,a)=>{let o=vo;return y(),T(`div`,yo,[e.block.dupStream?(y(),T(`div`,bo,[a[1]||=w(`span`,{class:`i-tabler-copy`},null,-1),w(`span`,null,s(t.$t(`clusterArtifact.kyh87lw001`)),1),w(`button`,{class:`mini-btn`,onClick:a[0]||=e=>i.value=!i.value},s(i.value?t.$t(`clusterArtifact.k49les002`):t.$t(`clusterArtifact.view`)),1)])):k(``,!0),r.value||i.value?(y(!0),T(E,{key:1},b(n.value,(e,t)=>(y(),j(o,{key:t,artifact:e},null,8,[`artifact`]))),128)):k(``,!0)])}}}),[[`__scopeId`,`data-v-305e2e30`]]),{__name:`WorkshopBlocksClusterArtifact`}),So={class:`member-cluster`},Co=[`data-op`],wo={class:`line-text`},To=8,Eo=Object.assign(X(v({__name:`ClusterMember`,props:{block:{}},setup(e){let{t}=G(),n=e,r=Z(),i=S(()=>n.block.events[0]?.channelId??``),a=S(()=>n.block.events.map(e=>{let n=e.payload,a=n.by===`user`?t(`clusterMember.byUser`):`lead ${r.agentName(i.value,n.by.replace(/^lead:/,``))}`,o=`${n.name}(${n.role}/${n.harness})`,s={added:t(`clusterMember.vAdded`,{p0:o}),updated:n.enabled===0?t(`clusterMember.vDisabled`,{p0:o}):t(`clusterMember.vUpdated`,{p0:o}),removed:t(`clusterMember.vRemoved`,{p0:o})};return{seq:e.seq,text:`${a}${s[n.op]}${n.reason?t(`clusterMember.reason`,{p0:n.reason}):``}`,op:n.op}})),o=u(!1),c=S(()=>o.value?a.value:a.value.slice(0,To)),l=S(()=>a.value.length>To);return(e,t)=>(y(),T(`div`,So,[(y(!0),T(E,null,b(c.value,e=>(y(),T(`div`,{key:e.seq,class:`member-line`,"data-op":e.op},[t[1]||=w(`span`,{class:`i-tabler-users`},null,-1),w(`span`,wo,s(e.text),1)],8,Co))),128)),l.value?(y(),T(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>o.value=!o.value},s(o.value?e.$t(`clusterMember.k40p82001`):e.$t(`clusterMember.showAll`,{p0:a.value.length})),1)):k(``,!0)]))}}),[[`__scopeId`,`data-v-98712ab3`]]),{__name:`WorkshopBlocksClusterMember`}),Do={class:`memory-cluster`},Oo=[`data-scope`],ko={class:`mem-title`},Ao=8,jo=Object.assign(X(v({__name:`ClusterMemory`,props:{block:{}},setup(e){let t=e,n=S(()=>t.block.events.map(e=>({seq:e.seq,scope:String(e.payload.scope),title:String(e.payload.title)}))),r=u(!1),i=S(()=>r.value?n.value:n.value.slice(0,Ao)),a=S(()=>n.value.length>Ao);return(e,t)=>(y(),T(`div`,Do,[(y(!0),T(E,null,b(i.value,e=>(y(),T(`div`,{key:e.seq,class:`memory-line`},[t[1]||=w(`span`,{class:`i-tabler-bookmark`},null,-1),w(`span`,{class:`mem-scope`,"data-scope":e.scope},s(e.scope),9,Oo),w(`span`,ko,s(e.title),1)]))),128)),a.value?(y(),T(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>r.value=!r.value},s(r.value?e.$t(`clusterMemory.k40p82001`):e.$t(`clusterMemory.showAll`,{p0:n.value.length})),1)):k(``,!0)]))}}),[[`__scopeId`,`data-v-455b8e4b`]]),{__name:`WorkshopBlocksClusterMemory`}),Mo={class:`error-cluster`},No={key:0,class:`error-code`},Po={class:`error-text`},Fo=3,Io=Object.assign(X(v({__name:`ClusterError`,props:{block:{}},setup(e){let t=e,n=S(()=>t.block.events.map(e=>({seq:e.seq,code:String(e.payload.code??``),text:String(e.payload.message??``)}))),r=u(!1),i=S(()=>r.value?n.value:n.value.slice(0,Fo)),a=S(()=>n.value.length>Fo);return(e,t)=>(y(),T(`div`,Mo,[(y(!0),T(E,null,b(i.value,e=>(y(),T(`div`,{key:e.seq,class:`error-line`},[t[1]||=w(`span`,{class:`i-tabler-alert-triangle`},null,-1),e.code?(y(),T(`span`,No,s(e.code),1)):k(``,!0),w(`span`,Po,s(e.text),1)]))),128)),a.value?(y(),T(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>r.value=!r.value},s(r.value?e.$t(`clusterError.k40p82001`):e.$t(`clusterError.showAll`,{p0:n.value.length})),1)):k(``,!0)]))}}),[[`__scopeId`,`data-v-13861835`]]),{__name:`WorkshopBlocksClusterError`}),Lo={class:`other-cluster`},Ro={class:`other-type`},zo=6,Bo=Object.assign(X(v({__name:`ClusterOther`,props:{block:{}},setup(e){let t=e,n=S(()=>t.block.events.map(e=>({seq:e.seq,type:e.type}))),r=u(!1),i=S(()=>r.value?n.value:n.value.slice(0,zo)),a=S(()=>n.value.length>zo);return(e,t)=>(y(),T(`div`,Lo,[(y(!0),T(E,null,b(i.value,e=>(y(),T(`div`,{key:e.seq,class:`other-row`},[t[1]||=w(`span`,{class:`i-tabler-dots`},null,-1),w(`span`,Ro,s(e.type),1)]))),128)),a.value?(y(),T(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>r.value=!r.value},s(r.value?e.$t(`clusterOther.k40p82001`):e.$t(`clusterOther.showAll`,{p0:n.value.length})),1)):k(``,!0)]))}}),[[`__scopeId`,`data-v-ca60ab9f`]]),{__name:`WorkshopBlocksClusterOther`}),Vo=[`data-kind`,`data-tier`,`data-settled`,`data-covered`,`data-seq`,`data-events`,`data-folded`],Ho={class:`eb-main`},Uo={key:0,class:`ghost-time`},Wo=Object.assign(X(v({__name:`EventBlock`,props:{block:{},turnStart:{type:Boolean},compact:{type:Boolean},enterStage:{}},setup(e){let n=e,{time:r,tier:o,firstSeq:c}=Qi(()=>n.block),l={stream:Ca,tool:Aa,status:Ra,life:qa,route:oo,task:mo,artifact:xo,member:Eo,memory:jo,error:Io,other:Bo},u=S(()=>l[n.block.kind]??Bo);return(n,l)=>(y(),T(`section`,{class:i([`event-block`,{"turn-start":e.turnStart,compact:e.compact,enter:e.enterStage?.enter}]),style:a(e.enterStage?.enter?{"--d":`${e.enterStage.delay}ms`}:void 0),"data-kind":e.block.kind,"data-tier":t(o),"data-settled":e.block.settled?`true`:`false`,"data-covered":e.block.coveredBy?`true`:`false`,"data-seq":t(c),"data-events":e.block.events.length,"data-folded":e.block.folded},[x(ra,{block:e.block},null,8,[`block`]),w(`div`,Ho,[x(_a,{block:e.block,compact:e.compact},null,8,[`block`,`compact`]),e.compact?(y(),T(`span`,Uo,s(t(r).slice(0,5)),1)):k(``,!0),(y(),j(p(u.value),{block:e.block,class:`eb-body`},null,8,[`block`]))])],14,Vo))}}),[[`__scopeId`,`data-v-3d2f03c1`]]),{__name:`WorkshopEventBlock`}),Go={key:0,class:`date-divider`},Ko={class:`date-divider-label`},qo=Object.assign(v({__name:`TranscriptBlockList`,props:{blocks:{},staged:{}},setup(e){let n=e,{t:r}=G(),i=e=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()},a=e=>{let t=new Date(e),n=new Date,i=new Date;i.setDate(n.getDate()-1);let a=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate();if(a(t,n))return r(`transcriptTimeline.k3wcqg018`);if(a(t,i))return r(`transcriptTimeline.k40l1y019`);let o=t.getFullYear()===n.getFullYear()?``:r(`transcriptTimeline.k2hda35028`,{p0:t.getFullYear()});return r(`transcriptTimeline.kbs29zx029`,{p0:o,p1:t.getMonth()+1,p2:t.getDate()})},o=S(()=>{let e=[],t=null;for(let r of n.blocks){let n=i(r.firstAt);e.push({divider:t===null||n!==t?a(r.firstAt):null}),t=n}return e});return(n,r)=>{let i=Wo;return y(!0),T(E,null,b(e.blocks,(n,r)=>(y(),T(E,{key:n.id},[t(o)[r]?.divider?(y(),T(`div`,Go,[w(`span`,Ko,s(t(o)[r].divider),1)])):k(``,!0),x(i,{block:n,"turn-start":r>0&&e.blocks[r-1].agentId!==n.agentId,compact:r>0&&e.blocks[r-1].agentId===n.agentId,"enter-stage":e.staged.get(n.id)},null,8,[`block`,`turn-start`,`compact`,`enter-stage`])],64))),128)}}}),{__name:`WorkshopTranscriptBlockList`}),Jo=[`disabled`],Yo={key:1,class:`earlier-done`},Xo=Object.assign(X(v({__name:`TranscriptEarlierPager`,props:{visible:{type:Boolean},loading:{type:Boolean},exhausted:{type:Boolean},loadedCount:{}},emits:[`load`],setup(e,{emit:t}){let n=t;return(t,r)=>(y(),T(E,null,[e.visible?(y(),T(`button`,{key:0,class:`earlier-btn`,disabled:e.loading,onClick:r[0]||=e=>n(`load`)},s(e.loading?t.$t(`transcriptTimeline.k1br0ij9009`):t.$t(`transcriptTimeline.kywgd38021`)),9,Jo)):k(``,!0),e.exhausted&&e.loadedCount>0?(y(),T(`div`,Yo,s(t.$t(`transcriptTimeline.k1kbaden003`)),1)):k(``,!0)],64))}}),[[`__scopeId`,`data-v-4f4c87fd`]]),{__name:`WorkshopTranscriptEarlierPager`}),Zo={key:0,class:`skel-stack`},Qo={key:1,class:`empty`},$o={key:0,class:`i-tabler-refresh empty-icon`},es={key:1,class:`i-tabler-message-dots empty-icon`},ts={class:`empty-title`},ns={class:`empty-hint`},rs={key:2,class:`empty filtered`},is={class:`empty-title`},as={class:`empty-hint`},os=Object.assign(X(v({__name:`TranscriptEmptyState`,props:{connecting:{type:Boolean},blockCount:{},totalEvents:{},syncing:{type:Boolean},connState:{},filterLabel:{}},setup(e){return(t,n)=>e.connecting?(y(),T(`div`,Zo,[(y(),T(E,null,b(3,e=>w(`div`,{key:e,class:`skel-row`,style:a({"--d":`${(e-1)*.12}s`})},[...n[0]||=[F(`<span class="aw-skel skel-ava" data-v-011a7f39></span><div class="skel-lines" data-v-011a7f39><span class="aw-skel skel-line name" data-v-011a7f39></span><span class="aw-skel skel-line w70" data-v-011a7f39></span><span class="aw-skel skel-line w45" data-v-011a7f39></span></div>`,2)]],4)),64))])):e.blockCount===0&&e.totalEvents===0?(y(),T(`div`,Qo,[e.syncing||e.connState!==`open`?(y(),T(`span`,$o)):(y(),T(`span`,es)),w(`p`,ts,s(e.syncing||e.connState!==`open`?t.$t(`transcriptTimeline.klnne6o010`):t.$t(`transcriptTimeline.k126izdm022`)),1),w(`p`,ns,s(e.syncing||e.connState!==`open`?t.$t(`transcriptTimeline.k1iuqpxj011`):t.$t(`transcriptTimeline.kuyjpmi023`)),1)])):e.blockCount===0?(y(),T(`div`,rs,[n[1]||=w(`span`,{class:`i-tabler-filter-off empty-icon`},null,-1),w(`p`,is,s(t.$t(`transcriptTimeline.ktuo1zg004`)),1),w(`p`,as,` 「`+s(e.filterLabel)+`」`+s(t.$t(`transcriptTimeline.kapxgq4006`)),1)])):k(``,!0)}}),[[`__scopeId`,`data-v-011a7f39`]]),{__name:`WorkshopTranscriptEmptyState`}),ss={class:`filter-bar`},cs={class:`count`},ls=[`data-state`,`title`],us={key:0,class:`sync-pulse`},ds={key:1,class:`i-tabler-point-filled sync-dot`},fs=Object.assign(X(v({__name:`TranscriptFilterBar`,props:O({options:{},totalEvents:{},blockCount:{},syncing:{type:Boolean},connState:{},lastDataAgo:{}},{filter:{required:!0},filterModifiers:{}}),emits:[`update:filter`],setup(e){let t=g(e,`filter`);return(n,r)=>{let i=lt;return y(),T(`div`,ss,[x(i,{value:t.value,"onUpdate:value":r[0]||=e=>t.value=e,size:`small`,options:e.options},null,8,[`value`,`options`]),w(`span`,cs,s(e.totalEvents)+` `+s(n.$t(`transcriptTimeline.k1atjpx1005`))+` `+s(e.blockCount)+` `+s(n.$t(`transcriptTimeline.k4a9o007`)),1),w(`span`,{class:`sync-chip`,"data-state":e.syncing?`syncing`:e.connState,title:e.syncing?n.$t(`transcriptTimeline.syncLag`):n.$t(`transcriptTimeline.kglov3b025`,{p0:e.lastDataAgo||n.$t(`transcriptTimeline.none`)})},[e.syncing?(y(),T(`span`,us)):e.connState===`open`?(y(),T(`span`,ds)):k(``,!0),I(` `+s(e.syncing?n.$t(`transcriptTimeline.k3lmtk3008`):e.connState===`open`?e.lastDataAgo||n.$t(`transcriptTimeline.k3y2p8020`):n.$t(`transcriptTimeline.k44c2n024`)),1)],8,ls)])}}}),[[`__scopeId`,`data-v-fbefd061`]]),{__name:`WorkshopTranscriptFilterBar`}),ps={class:`transcript`},ms=[`title`],hs=Object.assign(X(v({__name:`TranscriptTimeline`,props:{channelId:{}},setup(e){let{t:n}=G(),r=e,i=_t(),{conn:a}=vt();Ki();let o=S(()=>a.state===`connecting`&&i.ring(r.channelId).items.length===0),c=S({get:()=>i.filters[r.channelId]??`all`,set:e=>i.setFilter(r.channelId,e)}),{blocks:u,totalEvents:d}=Wi(()=>r.channelId),{staged:f}=qi(u),{scroller:p,columnEl:m,stickBottom:h,scrollingDown:g,onScroll:_,jumpToLatest:v}=Ji({blockCount:()=>u.value.length,lastSeq:()=>i.lastSeq(r.channelId)}),{loadingEarlier:b,earlierExhausted:C,loadedCount:E,maybeMore:D,loadEarlier:O}=Yi(()=>r.channelId,p),A=S(()=>a.pendingReplay||a.state===`connecting`),j=S(()=>{if(!a.lastDataAt)return``;let e=Math.max(0,Math.round((Date.now()-a.lastDataAt)/1e3));return e<5?n(`transcriptTimeline.k3wwxl026`):n(`transcriptTimeline.k2gyl6l027`,{p0:e})}),M=[{value:`all`,label:n(`transcriptTimeline.k3x4t1012`)},{value:`key`,label:n(`transcriptTimeline.k3x5xi013`)},{value:`messages`,label:n(`transcriptTimeline.k41ykc014`)},{value:`tasks`,label:n(`transcriptTimeline.k3wcox015`)},{value:`team`,label:n(`transcriptTimeline.k3y5ja016`)},{value:`errors`,label:n(`transcriptTimeline.k49d2l017`)}],N=S(()=>M.find(e=>e.value===c.value)?.label??c.value);return(e,n)=>(y(),T(`div`,ps,[x(fs,{filter:t(c),"onUpdate:filter":n[0]||=e=>l(c)?c.value=e:null,options:M,"total-events":t(d),"block-count":t(u).length,syncing:t(A),"conn-state":t(a).state,"last-data-ago":t(j)},null,8,[`filter`,`total-events`,`block-count`,`syncing`,`conn-state`,`last-data-ago`]),w(`div`,{ref_key:`scroller`,ref:p,class:`scroller`,onScroll:n[2]||=(...e)=>t(_)&&t(_)(...e)},[!t(h)&&!t(g)?(y(),T(`button`,{key:0,class:`jump-latest`,title:e.$t(`transcriptTimeline.kqu93z8001`),onClick:n[1]||=(...e)=>t(v)&&t(v)(...e)},[n[3]||=w(`span`,{class:`i-tabler-arrow-down`},null,-1),I(` `+s(e.$t(`transcriptTimeline.k40t11002`)),1)],8,ms)):k(``,!0),w(`div`,{ref_key:`columnEl`,ref:m,class:`column`},[x(Xo,{visible:t(D),loading:t(b),exhausted:t(C),"loaded-count":t(E),onLoad:t(O)},null,8,[`visible`,`loading`,`exhausted`,`loaded-count`,`onLoad`]),x(os,{connecting:t(o),"block-count":t(u).length,"total-events":t(d),syncing:t(A),"conn-state":t(a).state,"filter-label":t(N)},null,8,[`connecting`,`block-count`,`total-events`,`syncing`,`conn-state`,`filter-label`]),x(qo,{blocks:t(u),staged:t(f)},null,8,[`blocks`,`staged`])],512)],544)]))}}),[[`__scopeId`,`data-v-4365608b`]]),{__name:`WorkshopTranscriptTimeline`}),gs={class:`chat-timeline`},_s={class:`ct-head`},vs={class:`ct-count`},ys=[`disabled`],bs={key:1,class:`ct-empty`},xs={class:`ct-body`},Ss={class:`ct-meta`},Cs={class:`ct-sender`},ws={key:0,class:`i-tabler-user`},Ts={key:1,class:`i-tabler-robot`},Es={class:`ct-time`},Ds=[`onClick`],Os={key:0,class:`ct-replyto`},ks=[`innerHTML`],As={key:1,class:`ct-mentions`},js=[`data-agent-id`,`title`,`onClick`],Ms={key:2,class:`ct-deliveries`},Ns=[`data-tone`,`title`],Ps={key:3,class:`ct-source`},Fs=Object.assign(X(v({__name:`ChatTimeline`,props:{channelId:{}},setup(e){let n=e,r=pt(),o=Z(),c=yt(),l=f(`aw:open-agent`,()=>{}),d=S(()=>r.messages[n.channelId]??[]),p=S(()=>r.hasMoreHistory[n.channelId]!==!1),m=S(()=>r.loadingHistory[n.channelId]===!0),h=S(()=>(o.agents[n.channelId]??[]).map(e=>({agentId:e.agentId,name:e.name}))),g=S(()=>{let e=new Map;for(let t of d.value)e.set(t.id,t);return e});function v(e){return e.senderType===`agent`?o.agentName(n.channelId,e.senderId)||e.senderName:e.senderName||e.senderId.slice(0,8)}function x(e){return e.senderType===`agent`?v(e).charAt(0).toUpperCase():`人`}function O(e){return cr(e.text,h.value)}function A(e){let t=e.replyToId?g.value.get(e.replyToId):void 0;return t?v(t):`更早的消息`}let j=S(()=>{let e=new Map;for(let t of r.deliveriesOfChannel(n.channelId)){let n=e.get(t.chatMessageId);n?n.push(t):e.set(t.chatMessageId,[t])}return e}),M=e=>j.value.get(e.id)??[],N={pending:{label:`待投递`,tone:`pending`},delivered:{label:`已入信箱`,tone:`delivered`},consumed:{label:`已被消费`,tone:`consumed`},failed:{label:`投递失败`,tone:`failed`},cancelled:{label:`已取消`,tone:`cancelled`}};function P(e){r.setReplyTarget({channelId:n.channelId,messageId:e.id,senderName:v(e),excerpt:e.text.replace(/\s+/g,` `).slice(0,60)})}function F(e){let t=e.target.closest(`.md-mention`)?.dataset.agentId;t&&l({channelId:n.channelId,agentId:t})}let L=u(null),R=u(!0);function z(){let e=L.value;e&&(e.scrollTop=e.scrollHeight)}function B(){let e=L.value;e&&(R.value=e.scrollHeight-e.scrollTop-e.clientHeight<48)}C(()=>d.value.length,async(e,t)=>{t!==void 0&&e<=t||R.value&&(await D(),z(),V())});async function V(){if(c.items.some(e=>e.channelId===n.channelId&&!e.readAt))try{await c.markRead({channelId:n.channelId})}catch{}}async function U(){let e=L.value,t=e?e.scrollHeight-e.scrollTop:0,i=d.value[0]?.id;try{await r.loadHistory(n.channelId,{before:i})}catch{}await D(),e&&(e.scrollTop=e.scrollHeight-t)}return _(async()=>{try{await r.loadHistory(n.channelId)}catch{}await D(),z(),await V()}),C(()=>n.channelId,async()=>{R.value=!0,await D(),z()}),(n,r)=>(y(),T(`div`,gs,[w(`div`,_s,[r[3]||=w(`span`,{class:`i-tabler-messages ct-icon`},null,-1),r[4]||=w(`span`,{class:`ct-title`},`群聊`,-1),w(`span`,vs,s(d.value.length)+` 条`,1),r[5]||=w(`span`,{class:`ct-spacer`},null,-1),R.value?k(``,!0):(y(),T(`span`,{key:0,class:`ct-jump`,role:`button`,tabindex:`0`,title:`回到最新`,onClick:r[0]||=e=>{z(),R.value=!0},onKeydown:r[1]||=H(e=>{z(),R.value=!0},[`enter`])},[...r[2]||=[w(`span`,{class:`i-tabler-arrow-down`},null,-1),I(` 最新 `,-1)]],32))]),w(`div`,{ref_key:`scroller`,ref:L,class:`ct-scroll`,onScrollPassive:B},[p.value&&d.value.length>0?(y(),T(`button`,{key:0,type:`button`,class:`ct-earlier`,disabled:m.value,onClick:U},s(m.value?`加载中…`:`加载更早的消息`),9,ys)):k(``,!0),d.value.length===0?(y(),T(`div`,bs,[...r[6]||=[w(`span`,{class:`i-tabler-message-2 ct-empty-icon`},null,-1),w(`div`,null,`还没有群聊消息`,-1),w(`div`,{class:`ct-empty-sub`},` 直接发言只进群聊(0 次 Agent 执行);输入 @ 提及 Agent 才会触发执行,@ 成员只发定向通知。 `,-1)]])):k(``,!0),(y(!0),T(E,null,b(d.value,n=>(y(),T(`div`,{key:n.id,class:i([`ct-row`,n.senderType])},[w(`span`,{class:i([`aw-avatar ct-ava`,{"is-agent":n.senderType===`agent`}]),style:a(n.senderType===`agent`?{"--av":t(Gn)(n.senderId)}:{})},s(x(n)),7),w(`div`,xs,[w(`div`,Ss,[w(`span`,Cs,s(v(n)),1),w(`span`,{class:i([`ct-role`,n.senderType])},[n.senderType===`user`?(y(),T(`span`,ws)):n.senderType===`agent`?(y(),T(`span`,Ts)):k(``,!0),I(` `+s(n.senderType===`agent`?t(o).agents[e.channelId]?.find(e=>e.agentId===n.senderId)?.role??`agent`:n.senderType===`user`?`用户`:`系统`),1)],2),w(`span`,Es,s(t(xt)(n.createdAt,!1)),1),w(`button`,{type:`button`,class:`ct-reply-btn`,title:`引用这条消息回复`,onClick:e=>P(n)},[...r[7]||=[w(`span`,{class:`i-tabler-arrow-back-up`},null,-1),I(` 回复 `,-1)]],8,Ds)]),n.replyToId?(y(),T(`div`,Os,[r[8]||=w(`span`,{class:`i-tabler-corner-down-right`},null,-1),r[9]||=I(` 回复 `,-1),w(`b`,null,s(A(n)),1)])):k(``,!0),w(`div`,{class:`ct-text`,onClick:F,innerHTML:O(n)},null,8,ks),n.mentions.length>0?(y(),T(`div`,As,[(y(!0),T(E,null,b(n.mentions,n=>(y(),T(`span`,{key:`${n.type}:${n.id}`,class:i([`ct-mention-chip`,n.type]),"data-agent-id":n.type===`agent`?n.id:void 0,title:n.type===`agent`?`点击查看该 Agent`:`被 @ 的成员(不触发 Agent)`,onClick:r=>n.type===`agent`&&t(l)({channelId:e.channelId,agentId:n.id})},[w(`span`,{class:i(n.type===`agent`?`i-tabler-robot`:`i-tabler-user`)},null,2),I(` @`+s(n.label||(n.type===`agent`?t(o).agentName(e.channelId,n.id):n.id.slice(0,8))),1)],10,js))),128))])):k(``,!0),M(n).length>0?(y(),T(`div`,Ms,[(y(!0),T(E,null,b(M(n),n=>(y(),T(`span`,{key:n.deliveryId,class:`ct-delivery`,"data-tone":N[n.status]?.tone??`pending`,title:n.error||`deliveryId: ${n.deliveryId}`},[r[10]||=w(`span`,{class:`cd-dot`},null,-1),I(`@`+s(t(o).agentName(e.channelId,n.targetAgentId))+` · `+s(N[n.status]?.label??n.status),1)],8,Ns))),128))])):k(``,!0),n.senderType===`agent`&&n.sourceChatMessageId?(y(),T(`div`,Ps,[r[11]||=w(`span`,{class:`i-tabler-link`},null,-1),I(` 回答自 `+s(n.sourceChatMessageId.slice(0,8))+` `,1),n.requesterUserId?(y(),T(E,{key:0},[I(` · 提问者 `+s(n.requesterUserId.slice(0,8)),1)],64)):k(``,!0)])):k(``,!0)])],2))),128))],544)]))}}),[[`__scopeId`,`data-v-23402b9a`]]),{__name:`WorkshopChatTimeline`});function Is(){let e=Tt(`aw.harness.laneW`,{}),t=t=>e.value[t]??320;return{laneWidths:e,laneWidth:t,resizeLane:(n,r)=>{e.value={...e.value,[n]:Math.min(720,Math.max(240,t(n)+r))}},resetLane:t=>{let n={...e.value};Reflect.deleteProperty(n,t),e.value=n}}}var Ls={processing:`var(--tone-live-dot)`,warning:`var(--tone-warning-dot)`,success:`var(--tone-success-dot)`},Rs=e=>e?e.streaming?{text:`streaming`,color:`processing`}:e.running?{text:`turn`,color:`warning`}:{text:`idle`,color:`success`}:null,zs=e=>e.trim().charAt(0).toUpperCase()||`?`,Bs=e=>Gn(e);function Vs(e){let t=$(),n=u([]),r=S(()=>{let e=new Map;for(let t of n.value)!t.alive||!t.agentId||e.set(t.agentId,t);return e}),i=null,a=async()=>{try{let r=await t.listChannelTerminals(e());n.value=r.data??[]}catch{}};return _(()=>{a(),i=ee(()=>void a(),5e3)}),h(()=>{i&&clearInterval(i)}),{terminals:n,terminalOf:r,loadTerminals:a}}var Hs={key:0,class:`lane-empty`},Us={key:1,class:`lane-empty`},Ws=[`disabled`],Gs=Object.assign(X(v({__name:`LaneBlocks`,props:{channelId:{},agentId:{}},setup(e){let n=e,r=_t(),{blocks:i}=Wi(()=>n.channelId,{agentId:()=>n.agentId,predicate:e=>e.agentId===n.agentId,resetKey:()=>n.agentId,raw:!0}),a=u(!0);_(()=>{r.loadLaneHistory(n.channelId,n.agentId).finally(()=>{a.value=!1})});let o=u(!1),c=u(!1),l=S(()=>i.value.length>0),d=S(()=>!c.value&&l.value),f=async()=>{if(!(o.value||c.value)){o.value=!0;try{await r.loadLaneEarlier(n.channelId,n.agentId)||(c.value=!0)}catch{}finally{o.value=!1}}};return(e,n)=>{let r=Wo;return t(i).length===0&&t(a)?(y(),T(`div`,Hs,[n[0]||=w(`span`,{class:`i-tabler-refresh lane-empty-icon`},null,-1),I(` `+s(e.$t(`laneBlocks.k1otw1r3001`)),1)])):t(i).length===0?(y(),T(`div`,Us,s(e.$t(`laneBlocks.k1el0s5k002`)),1)):(y(),T(E,{key:2},[t(d)?(y(),T(`button`,{key:0,type:`button`,class:`lane-earlier`,disabled:t(o),onClick:f},s(t(o)?e.$t(`laneBlocks.k1br0ij9003`):e.$t(`laneBlocks.k1br5dtr004`)),9,Ws)):k(``,!0),(y(!0),T(E,null,b(t(i),e=>(y(),j(r,{key:e.id,block:e},null,8,[`block`]))),128))],64))}}}),[[`__scopeId`,`data-v-e020dd8e`]]),{__name:`WorkshopLanesLaneBlocks`}),Ks={class:`toolbar`},qs={class:`team-summary`},Js={class:`ts-label`},Ys={class:`ts-count`},Xs={class:`ts-unit`},Zs={class:`ts-detail`},Qs=Object.assign(X(v({__name:`LanesToolbar`,props:{agents:{}},emits:[`add`],setup(e,{emit:t}){let n=t;return(t,r)=>{let i=ke;return y(),T(`div`,Ks,[w(`div`,qs,[w(`span`,Js,s(t.$t(`agentLanesView.k3y5ja016`)),1),w(`span`,Ys,s(e.agents.length),1),w(`span`,Xs,s(t.$t(`agentLanesView.k3ll6sa017`)),1),w(`span`,Zs,`lead `+s(e.agents.filter(e=>e.role===`lead`).length)+` · worker `+s(e.agents.filter(e=>e.role===`worker`).length),1)]),x(i,{size:`small`,type:`primary`,ghost:``,onClick:r[0]||=e=>n(`add`)},{default:A(()=>[r[1]||=w(`span`,{class:`i-tabler-user-plus`},null,-1),w(`span`,null,s(t.$t(`agentLanesView.k1fmutgo018`)),1)]),_:1})])}}}),[[`__scopeId`,`data-v-5f5d46d5`]]),{__name:`WorkshopLanesToolbar`}),$s={class:`lane-head`},ec={class:`head-top`},tc={class:`lane-ava`},nc=[`title`],rc=[`title`],ic=[`title`],ac=[`title`],oc=[`title`],sc={class:`head-sub`},cc={class:`lane-meta`},lc={key:0,class:`lane-progress`},uc={class:`lane-actions`},dc={class:`term-label`},fc=Object.assign(X(v({__name:`LaneHeader`,props:{agent:{},terminal:{},stopping:{},removing:{}},emits:[`open-terminal`,`edit`,`stop`,`remove`],setup(e,{emit:n}){let r=e,o=n,c=S(()=>r.agent),l=S(()=>{let e=c.value?.supervision;if(!e)return null;let t=e.state===`RUNNING`||e.state===`WATCHDOG_SIGNALED`||e.state===`WAITING_FOR_RESULT`;return e.watchdogCount>0||e.state===`WATCHDOG_SIGNALED`?{kind:`watchdog`,text:`watchdog ${e.watchdogCount}`,title:`监督观察阈值已触发(${e.watchdogAt??`-`});这是观察信号,不是取消`}:t?{kind:`running`,text:`supervising`,title:`监督回合进行中(attempt=${e.attemptId?.slice(0,8)??`-`},tick=${e.snapshotRevision??`-`})`}:e.lastDecisionKind?{kind:`decision`,text:`决策 ${e.lastDecisionKind}`,title:`Lead 最后决策:${e.lastDecisionKind}(${e.completedAt??`-`})`}:null}),u=S(()=>{let e=c.value?.continuity;if(!e)return null;let t=[e.continuityMode===`persistent`?`persistent`:`per_turn`];e.pid&&t.push(`pid ${e.pid}`),e.reuseCount>0&&t.push(`reuse ${e.reuseCount}`);let n=[`continuity=${e.continuityMode}`,e.pid?`pid=${e.pid}`:`pid=-`,e.sessionId?`session=${e.sessionId}`:`session=-`,`reuse=${e.reuseCount}`,e.lastRestartReason?`last restart=${e.lastRestartReason}${e.lastRestartAt?` @${e.lastRestartAt}`:``}`:`last restart=-`,`restarts=${e.restartCount}`].join(` · `);return{text:t.join(` · `),restart:e.lastRestartReason,title:n,error:!!e.lastRestartReason}});return(n,r)=>{let d=ke,f=Qe;return y(),T(`div`,$s,[w(`div`,ec,[w(`span`,tc,[w(`span`,{style:a({"--av":t(Bs)(t(c).agentId)})},s(t(zs)(t(c).name)),5),w(`span`,{class:i([`lane-state`,t(c).state])},null,2)]),w(`span`,{class:`lane-name`,title:t(c).name},s(t(c).name),9,nc),t(c).config?.systemPromptPrefix?(y(),T(`span`,{key:0,class:`lane-chip`,title:n.$t(`agentLanesView.k107s4am001`)},s(n.$t(`agentLanesView.k3xycu022`)),9,rc)):k(``,!0),w(`span`,{class:i([`lane-role`,t(c).role])},s(t(c).role),3),t(Rs)(e.terminal)?(y(),T(`span`,{key:1,class:`term-badge`,title:n.$t(`agentLanesView.k1wn2vmt036`,{p0:e.terminal?.pid})},[w(`span`,{class:`term-dot`,style:a({background:t(Ls)[t(Rs)(e.terminal).color]??`var(--tone-neutral-dot)`})},null,4),I(` `+s(t(Rs)(e.terminal).text),1)],8,ic)):k(``,!0),t(u)?(y(),T(`span`,{key:2,class:i([`cont-badge`,{restart:t(u).error}]),title:t(u).title},s(t(u).text),11,ac)):k(``,!0),t(l)?(y(),T(`span`,{key:3,class:i([`sup-badge`,t(l).kind]),title:t(l).title},s(t(l).text),11,oc)):k(``,!0)]),w(`div`,sc,[w(`span`,cc,[t(c).state===`busy`&&t(c).currentTaskTitle?(y(),T(E,{key:0},[I(s(t(c).currentTaskTitle)+` `,1),t(c).currentTaskProgress==null?k(``,!0):(y(),T(`span`,lc,s(t(c).currentTaskProgress)+`%`,1))],64)):(y(),T(E,{key:1},[I(s(t(c).state)+` · Q`+s(t(c).queued??0),1)],64))]),w(`div`,uc,[t(c).harness===`omp`?(y(),j(d,{key:0,size:`small`,type:`primary`,ghost:``,class:`lane-term`,title:n.$t(`agentLanesView.k1884q17002`),onClick:r[0]||=e=>o(`open-terminal`,t(c))},{default:A(()=>[r[4]||=w(`span`,{class:`i-tabler-terminal-2`},null,-1),w(`span`,dc,s(n.$t(`agentLanesView.k4588s023`)),1)]),_:1},8,[`title`])):k(``,!0),x(d,{size:`small`,type:`text`,class:`lane-edit`,title:n.$t(`agentLanesView.k1pgd3tf003`),onClick:r[1]||=e=>o(`edit`,t(c))},{default:A(()=>[...r[5]||=[w(`span`,{class:`i-tabler-edit`},null,-1)]]),_:1},8,[`title`]),r[8]||=w(`span`,{class:`actions-divider`},null,-1),x(f,{title:n.$t(`agentLanesView.k1l029kf037`,{p0:t(c).name}),"ok-text":n.$t(`common.stop`),"cancel-text":n.$t(`common.cancel`),onConfirm:r[2]||=e=>o(`stop`,t(c).agentId,t(c).name)},{default:A(()=>[x(d,{size:`small`,type:`text`,class:`lane-stop`,loading:e.stopping===t(c).agentId,title:n.$t(`agentLanesView.hitlStopTitle`)},{default:A(()=>[...r[6]||=[w(`span`,{class:`i-tabler-player-stop`},null,-1)]]),_:1},8,[`loading`,`title`])]),_:1},8,[`title`,`ok-text`,`cancel-text`]),x(f,{title:n.$t(`agentLanesView.kt3n27m038`,{p0:t(c).name}),"ok-text":n.$t(`common.remove`),"cancel-text":n.$t(`common.cancel`),onConfirm:r[3]||=e=>o(`remove`,t(c).agentId,t(c).name)},{default:A(()=>[x(d,{size:`small`,type:`text`,danger:``,class:`lane-remove`,loading:e.removing===t(c).agentId},{default:A(()=>[...r[7]||=[w(`span`,{class:`i-tabler-x`},null,-1)]]),_:1},8,[`loading`])]),_:1},8,[`title`,`ok-text`,`cancel-text`])])])])}}}),[[`__scopeId`,`data-v-1dfd80fa`]]),{__name:`WorkshopLanesLaneHeader`}),pc={class:`mode-hint`},mc={class:`mode-hint`},hc=Object.assign(X(v({__name:`AddMemberModal`,props:O({channelId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let n=e,r=g(e,`open`),{t:i}=G(),a=$(),c=u(!1),d=u(`create`),f=o({name:``,harness:`omp`,role:`worker`,systemPrompt:``}),p=u([]),m=u([]),h=u(``),_=u(``),v=async()=>{try{let[e,t]=await Promise.all([a.listTemplates(),a.listTeams()]);p.value=(e.data??[]).map(e=>({id:e.id,name:e.name,harness:e.harness,enabled:e.enabled})),m.value=(t.data??[]).map(e=>({id:e.id,name:e.name,memberCount:e.members.length,hasLead:e.members.some(e=>e.role===`lead`)}))}catch{}};C(r,e=>{e&&(f.name=``,f.harness=`omp`,f.role=`worker`,f.systemPrompt=``,d.value=`create`,h.value=``,_.value=``,v())});let b=async()=>{if(d.value===`create`){let e=f.name.trim();if(!e){Y.warning(i(`agentLanesView.ky6jqt4032`));return}c.value=!0;try{await a.addChannelAgent(n.channelId,{name:e,harness:f.harness,role:f.role,config:f.systemPrompt.trim()?{systemPromptPrefix:f.systemPrompt.trim()}:void 0}),Y.success(i(`agentLanesView.k1g5ykr3046`,{p0:e})),r.value=!1}catch(e){Y.error(i(`agentLanesView.k1j97j74047`,{p0:Q(e)}))}finally{c.value=!1}return}if(d.value===`template`){if(!h.value){Y.warning(i(`agentLanesView.k13xo8sz034`));return}c.value=!0;try{let e=p.value.find(e=>e.id===h.value);await a.addChannelAgent(n.channelId,{agentId:h.value,role:f.role,config:f.systemPrompt.trim()?{systemPromptPrefix:f.systemPrompt.trim()}:void 0}),Y.success(i(`agentLanesView.kk3uwzo048`,{p0:f.role,p1:e?.name??``})),r.value=!1}catch(e){let t=Q(e);Y.error(i(`agentLanesView.cloneFail`,{p0:t.includes(`LEAD_EXISTS`)?i(`agentLanesView.leadExistsShort`):`: ${t}`}))}finally{c.value=!1}return}if(!_.value){Y.warning(i(`agentLanesView.k1tjd5ab035`));return}c.value=!0;try{let e=m.value.find(e=>e.id===_.value);await a.deployTeam(_.value,n.channelId),Y.success(i(`agentLanesView.k1gslqf9050`,{p0:e?.name??``,p1:e?.memberCount??0})),r.value=!1}catch(e){let t=Q(e);Y.error(i(`agentLanesView.deployFail`,{p0:t.includes(`LEAD_EXISTS`)?i(`agentLanesView.leadExistsChannel`):`: ${t}`}))}finally{c.value=!1}};return(e,n)=>{let i=Ke,a=We,o=Ue,u=Fe,g=Ge,v=Ee,S=Ie,C=ze,T=Ne;return y(),j(T,{open:r.value,"onUpdate:open":n[9]||=e=>r.value=e,title:e.$t(`agentLanesView.k17kcn55004`),"confirm-loading":t(c),"ok-text":e.$t(`common.add`),"cancel-text":e.$t(`common.cancel`),onOk:b},{default:A(()=>[x(a,{value:t(d),"onUpdate:value":n[0]||=e=>l(d)?d.value=e:null,class:`mode-switch`},{default:A(()=>[x(i,{value:`create`},{default:A(()=>[I(s(e.$t(`agentLanesView.k1b7cwvy024`)),1)]),_:1}),x(i,{value:`template`},{default:A(()=>[I(s(e.$t(`agentLanesView.k1ndey1w025`)),1)]),_:1}),x(i,{value:`team`},{default:A(()=>[I(s(e.$t(`agentLanesView.k1l5qyux026`)),1)]),_:1})]),_:1},8,[`value`]),t(d)===`create`?(y(),j(S,{key:0,layout:`vertical`,class:`member-form`},{default:A(()=>[x(u,{label:e.$t(`agentLanesView.k3nufdm005`)},{default:A(()=>[x(o,{value:t(f).name,"onUpdate:value":n[1]||=e=>t(f).name=e,placeholder:e.$t(`agentLanesView.namePh`),onPressEnter:b},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),x(u,{label:`harness`},{default:A(()=>[x(a,{value:t(f).harness,"onUpdate:value":n[2]||=e=>t(f).harness=e},{default:A(()=>[x(g,{value:`omp`},{default:A(()=>[I(s(e.$t(`agentLanesView.ompFull`)),1)]),_:1}),x(g,{value:`mock`},{default:A(()=>[I(s(e.$t(`agentLanesView.kqg6783027`)),1)]),_:1}),x(g,{value:`claude`},{default:A(()=>[...n[10]||=[I(` claude `,-1)]]),_:1})]),_:1},8,[`value`])]),_:1}),x(u,{label:e.$t(`agentLanesView.k479op006`)},{default:A(()=>[x(a,{value:t(f).role,"onUpdate:value":n[3]||=e=>t(f).role=e},{default:A(()=>[x(g,{value:`worker`},{default:A(()=>[...n[11]||=[I(` worker `,-1)]]),_:1}),x(g,{value:`lead`},{default:A(()=>[I(s(e.$t(`agentLanesView.k1weovo028`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`]),x(u,{label:e.$t(`agentLanesView.kaogfp007`)},{default:A(()=>[x(v,{value:t(f).systemPrompt,"onUpdate:value":n[4]||=e=>t(f).systemPrompt=e,rows:3,placeholder:e.$t(`agentLanesView.kbqn6w5008`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`])]),_:1})):t(d)===`template`?(y(),j(S,{key:1,layout:`vertical`,class:`member-form`},{default:A(()=>[x(u,{label:e.$t(`agentLanesView.tplCloneLabel`)},{default:A(()=>[x(C,{value:t(h),"onUpdate:value":n[5]||=e=>l(h)?h.value=e:null,placeholder:e.$t(`agentLanesView.kung925009`),options:t(p).map(t=>({value:t.id,label:`${t.name}(${t.harness})${t.enabled===0?e.$t(`agentLanesView.tplDisabled`):``}`}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),x(u,{label:e.$t(`agentLanesView.k1bl78fu010`)},{default:A(()=>[x(a,{value:t(f).role,"onUpdate:value":n[6]||=e=>t(f).role=e},{default:A(()=>[x(g,{value:`worker`},{default:A(()=>[...n[12]||=[I(` worker `,-1)]]),_:1}),x(g,{value:`lead`},{default:A(()=>[I(s(e.$t(`agentLanesView.k1weovo028`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`]),x(u,{label:e.$t(`agentLanesView.k1vhvbz7011`)},{default:A(()=>[x(v,{value:t(f).systemPrompt,"onUpdate:value":n[7]||=e=>t(f).systemPrompt=e,rows:3,placeholder:e.$t(`agentLanesView.k7ft6ig012`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),w(`div`,pc,s(e.$t(`agentLanesView.knybb6r029`)),1)]),_:1})):(y(),j(S,{key:2,layout:`vertical`,class:`member-form`},{default:A(()=>[x(u,{label:e.$t(`agentLanesView.k29om9b013`)},{default:A(()=>[x(C,{value:t(_),"onUpdate:value":n[8]||=e=>l(_)?_.value=e:null,placeholder:e.$t(`agentLanesView.kur1otz014`),options:t(m).map(t=>({value:t.id,label:e.$t(`agentLanesView.k1qcmxyu040`,{p0:t.name,p1:t.memberCount,p2:t.hasLead?e.$t(`agentLanesView.withLead`):``})}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),w(`div`,mc,s(e.$t(`agentLanesView.k1qqnq5030`)),1)]),_:1}))]),_:1},8,[`open`,`title`,`confirm-loading`,`ok-text`,`cancel-text`])}}}),[[`__scopeId`,`data-v-663bdd51`]]),{__name:`WorkshopLanesAddMemberModal`}),gc={class:`ws-hint`},_c=Object.assign(X(v({__name:`EditMemberModal`,props:O({channelId:{},agent:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let n=e,r=g(e,`open`),{t:i}=G(),a=$(),c=Z(),l=u(!1),d=o({agentId:``,name:``,role:`worker`,harness:``,systemPrompt:``});C(r,e=>{if(!e)return;let t=n.agent;t&&(d.agentId=t.agentId,d.name=t.name,d.role=t.role===`lead`?`lead`:`worker`,d.harness=t.harness,d.systemPrompt=typeof t.config?.systemPromptPrefix==`string`?t.config.systemPromptPrefix:``)});let f=async()=>{let e=d.name.trim();if(!e){Y.warning(i(`agentLanesView.ky6jqt4032`));return}l.value=!0;try{await a.updateChannelAgent(n.channelId,d.agentId,{name:e,config:{...c.agents[n.channelId]?.find(e=>e.agentId===d.agentId)?.config??{},systemPromptPrefix:d.systemPrompt.trim()},reason:i(`agentLanesView.kfvflle033`)}),Y.success(i(`agentLanesView.k21xjz2044`,{p0:e})),r.value=!1}catch(e){Y.error(i(`agentLanesView.k3jmrw1045`,{p0:Q(e)}))}finally{l.value=!1}};return(e,n)=>{let i=Ue,a=Fe,o=qe,c=tt,u=Ee,p=Ie,m=Ne;return y(),j(m,{open:r.value,"onUpdate:open":n[2]||=e=>r.value=e,title:e.$t(`agentLanesView.k19j5rho041`,{p0:t(d).name||``}),"confirm-loading":t(l),"ok-text":e.$t(`common.save`),"cancel-text":e.$t(`common.cancel`),onOk:f},{default:A(()=>[x(p,{layout:`vertical`,class:`member-form`},{default:A(()=>[x(a,{label:e.$t(`agentLanesView.k3nufdm005`)},{default:A(()=>[x(i,{value:t(d).name,"onUpdate:value":n[0]||=e=>t(d).name=e},null,8,[`value`])]),_:1},8,[`label`]),x(a,{label:e.$t(`agentLanesView.roleHarnessLabel`)},{default:A(()=>[x(c,null,{default:A(()=>[x(o,{color:t(d).role===`lead`?`purple`:`blue`},{default:A(()=>[I(s(t(d).role),1)]),_:1},8,[`color`]),x(o,null,{default:A(()=>[I(s(t(d).harness),1)]),_:1})]),_:1})]),_:1},8,[`label`]),x(a,{label:e.$t(`agentLanesView.syspromptLabel`)},{extra:A(()=>[w(`span`,gc,s(e.$t(`agentLanesView.k1rw1rd2031`)),1)]),default:A(()=>[x(u,{value:t(d).systemPrompt,"onUpdate:value":n[1]||=e=>t(d).systemPrompt=e,rows:6,placeholder:e.$t(`agentLanesView.k10ti81i015`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`,`ok-text`,`cancel-text`])}}}),[[`__scopeId`,`data-v-f91b0d8a`]]),{__name:`WorkshopLanesEditMemberModal`}),vc={class:`lanes-wrap`},yc={class:`lanes`},bc={key:0,class:`empty`},xc={class:`empty-title`},Sc={class:`empty-title`},Cc={class:`empty-hint`},wc={class:`lane-body`},Tc=Object.assign(X(v({__name:`AgentLanesView`,props:{channelId:{}},setup(e){let{t:n}=G(),r=e,i=Z(),o=$(),c=S(()=>i.agents[r.channelId]??[]),{laneWidth:d,resizeLane:f,resetLane:p}=Is(),m=u(!1),h=u(!1),g=u(null),_=()=>{m.value=!0},v=e=>{g.value=e,h.value=!0},C=u(null),D=async(e,t)=>{C.value=e;try{await o.removeChannelAgent(r.channelId,e),Y.success(n(`agentLanesView.k1n3o03a052`,{p0:t}))}catch(e){Y.error(n(`agentLanesView.k13dsp10053`,{p0:Q(e)}))}finally{C.value=null}},O=u(null),A=async(e,t)=>{O.value=e;try{await o.stopChannelAgent(r.channelId,e),Y.success(n(`agentLanesView.kcpbv47054`,{p0:t}))}catch(e){Y.error(n(`agentLanesView.k139ec5j055`,{p0:Q(e)}))}finally{O.value=null}},{terminalOf:j}=Vs(()=>r.channelId),M=u(!1),N=u(null),P=u(``),F=e=>{N.value=e.agentId,P.value=`${e.name} · ${e.role}`,M.value=!0};return(n,r)=>{let o=gr;return y(),T(`div`,vc,[x(Qs,{agents:t(c),onAdd:_},null,8,[`agents`]),w(`div`,yc,[t(c).length===0?(y(),T(`div`,bc,[t(i).channels[e.channelId]?(y(),T(E,{key:1},[r[4]||=w(`span`,{class:`i-tabler-users-group empty-icon`},null,-1),w(`p`,Sc,s(n.$t(`agentLanesView.k122h4pc020`)),1),w(`p`,Cc,s(n.$t(`agentLanesView.k7cr2h8021`)),1)],64)):(y(),T(E,{key:0},[r[3]||=w(`span`,{class:`i-tabler-refresh empty-icon`},null,-1),w(`p`,xc,s(n.$t(`agentLanesView.k1woev5v019`)),1)],64))])):k(``,!0),(y(!0),T(E,null,b(t(c),r=>(y(),T(E,{key:r.agentId},[w(`div`,{class:`lane`,style:a({flexBasis:`${t(d)(r.agentId)}px`})},[x(fc,{agent:r,terminal:t(j).get(r.agentId),stopping:t(O),removing:t(C),onOpenTerminal:F,onEdit:v,onStop:A,onRemove:D},null,8,[`agent`,`terminal`,`stopping`,`removing`]),w(`div`,wc,[x(Gs,{"channel-id":e.channelId,"agent-id":r.agentId},null,8,[`channel-id`,`agent-id`])])],4),x(o,{label:n.$t(`agentLanesView.k7xt1y6039`,{p0:r.name}),onResize:e=>t(f)(r.agentId,e),onReset:e=>t(p)(r.agentId)},null,8,[`label`,`onResize`,`onReset`])],64))),128))]),x(hc,{open:t(m),"onUpdate:open":r[0]||=e=>l(m)?m.value=e:null,"channel-id":e.channelId},null,8,[`open`,`channel-id`]),x(_c,{open:t(h),"onUpdate:open":r[1]||=e=>l(h)?h.value=e:null,"channel-id":e.channelId,agent:t(g)},null,8,[`open`,`channel-id`,`agent`]),x(Ct,{open:t(M),"onUpdate:open":r[2]||=e=>l(M)?M.value=e:null,"agent-id":t(N),"channel-id":e.channelId,pid:null,subtitle:t(P)},null,8,[`open`,`agent-id`,`channel-id`,`subtitle`])])}}}),[[`__scopeId`,`data-v-84590903`]]),{__name:`WorkshopAgentLanesView`});function Ec(e){let{t}=G(),n=Z(),r=$(),i=S(()=>n.tasks[e.value]??[]),a=S(()=>n.channels[e.value]!==void 0||n.tasks[e.value]!==void 0),o=u(new Map),s=S(()=>i.value.map(e=>o.value.has(e.id)?{...e,state:o.value.get(e.id)}:e)),c=e=>s.value.find(t=>t.id===e),l=u(new Set);return{synced:a,mergedTasks:s,taskById:c,applyMove:async(i,a)=>{if(l.value.has(i))return;let s=c(i);if(!s)return;l.value.add(i);let u=s.state,d=a===`cancel`?`CANCELED`:`ASSIGNED`,f=new Map(o.value);f.set(i,d),o.value=f;try{await(a===`cancel`?r.cancelTask(i):r.retryTask(i)),n.refreshTasks(e.value),Y.success(t(a===`cancel`?`taskBoardView.k189y4q013`:`taskBoardView.kv1l1j3014`))}catch(e){let n=new Map(o.value);n.set(i,u),o.value=n;let r=e;Y.error(Q(r,t(`taskBoardView.k1e7zwuc015`)))}finally{l.value.delete(i),setTimeout(()=>{let e=new Map(o.value);e.delete(i),o.value=e},4e3)}}}}function Dc(e,t){let{t:n}=G(),r=Z(),i=[{key:`todo`,title:n(`taskBoardView.k3nf71d008`),states:[`SUBMITTED`,`ASSIGNED`],dot:`var(--tone-neutral-dot)`,moveAction:`retry`},{key:`doing`,title:n(`taskBoardView.k3o5tz9009`),states:[`WORKING`],dot:`var(--tone-info-dot)`,moveAction:null},{key:`waiting`,title:n(`taskBoardView.k1hpx9p1010`),states:[`WAITING`],dot:`var(--tone-warning-dot)`,moveAction:null},{key:`done`,title:n(`taskBoardView.k3n77g3011`),states:[`COMPLETED`],dot:`var(--tone-success-dot)`,moveAction:null},{key:`bad`,title:n(`taskBoardView.k1veotws012`),states:[`FAILED`,`CANCELED`],dot:`var(--tone-danger-dot)`,moveAction:`cancel`}];return{columns:S(()=>i.map(e=>({...e,items:t.value.filter(t=>e.states.includes(t.state))}))),agentName:t=>r.agentById(e.value,t)?.name??t.slice(0,6),childCount:e=>t.value.filter(t=>t.parentId===e).length,stateOf:e=>e.state}}function Oc(e){let{taskById:t,applyMove:n}=e,r=u(null),i=u(null),a=u(null),o=(e,n)=>{if(!n.moveAction)return!1;let r=t(e);return!r||n.states.includes(r.state)?!1:n.moveAction===`retry`?r.state===`FAILED`:[`SUBMITTED`,`ASSIGNED`,`WORKING`,`WAITING`,`FAILED`].includes(r.state)},s=(e,t,n)=>{r.value=t.id,i.value=n,e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id))},c=(e,t)=>{!r.value||!o(r.value,t)||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`))};return{dragId:r,onDragStart:s,onDragLeave:e=>{a.value===e&&(a.value=null)},onDragOverCol:(e,t)=>{a.value=t.key,c(e,t)},onDragEnd:()=>{r.value=null,i.value=null,a.value=null},colClasses:e=>({"drop-over":a.value===e.key&&!!r.value&&o(r.value,e),"no-drop":!!r.value&&a.value===e.key&&!o(r.value,e),"drag-origin":i.value===e.key}),onDrop:async(e,t)=>{e.preventDefault();let s=r.value;a.value=null,r.value=null,i.value=null,!(!s||!o(s,t))&&await n(s,t.moveAction)}}}function kc(e){let{t}=G(),{applyMove:n,openTask:r}=e,i=u(null),a=(e,t)=>{let n=Math.min(e.clientX,Math.max(window.innerWidth-156,8)),r=Math.min(e.clientY,Math.max(window.innerHeight-160,8));i.value={task:t,x:n,y:r}},o=()=>{i.value=null};return{menu:i,openMenu:a,closeMenu:o,menuActions:S(()=>{let e=i.value?.task;if(!e)return[];let n=[];return[`SUBMITTED`,`ASSIGNED`,`WORKING`,`WAITING`,`FAILED`].includes(e.state)&&n.push({key:`cancel`,label:t(`taskBoardView.k1bs0t9b016`),danger:!0}),e.state===`FAILED`&&n.push({key:`retry`,label:t(`taskBoardView.k1lclwk6017`)}),n.push({key:`detail`,label:t(`taskBoardView.k1dx9ysj018`)}),n}),onMenuAction:async e=>{let t=i.value?.task;o(),t&&(e===`detail`?r(t.id):await n(t.id,e))}}}var Ac={class:`tk-chan`},jc={key:0,class:`tk-num`},Mc={key:1,class:`tk-num`},Nc={class:`tk-title`},Pc=[`title`],Fc={class:`tk-foot`},Ic=Object.assign(X(v({__name:`Card`,props:{task:{},columnTitle:{},columnDot:{},dragging:{type:Boolean},agentName:{},childCount:{}},emits:[`dragStart`,`dragEnd`,`open`,`openMenu`],setup(e,{emit:t}){let n=t;return(t,r)=>{let o=Bn;return y(),T(`div`,{class:i([`card task`,{dragging:e.dragging}]),draggable:`true`,onDragstart:r[1]||=e=>n(`dragStart`,e),onDragend:r[2]||=e=>n(`dragEnd`),onClick:r[3]||=t=>n(`open`,e.task)},[w(`div`,Ac,[w(`span`,null,`#`+s(e.agentName),1),e.childCount?(y(),T(`span`,jc,s(t.$t(`taskBoardView.k4b1x005`))+` `+s(e.childCount),1)):k(``,!0),e.task.artifacts?(y(),T(`span`,Mc,[r[4]||=w(`span`,{class:`i-tabler-package`},null,-1),I(` `+s(e.task.artifacts),1)])):k(``,!0)]),w(`div`,Nc,s(e.task.title),1),e.task.routeReason?(y(),T(`div`,{key:0,class:`tk-route`,title:t.$t(`taskBoardView.k8m7hm6020`,{p0:e.task.routeReason})},` ↳ `+s(e.task.routeReason),9,Pc)):k(``,!0),e.task.state===`WORKING`&&e.task.progress>0?(y(),j(o,{key:1,percent:e.task.progress,size:`small`,"show-info":!1},null,8,[`percent`])):k(``,!0),w(`div`,Fc,[w(`button`,{type:`button`,class:`st-pill-btn`,onClick:r[0]||=z(e=>n(`openMenu`,e),[`stop`])},[w(`span`,{class:`st-pill`,style:a({color:e.columnDot,borderColor:e.columnDot})},s(e.columnTitle),5)])])],34)}}}),[[`__scopeId`,`data-v-30e23482`]]),{__name:`WorkshopTaskBoardCard`}),Lc={class:`sec`},Rc={class:`sec-title`},zc={class:`sec-cnt`},Bc={class:`task-col-body`},Vc={key:0,class:`col-empty`},Hc=Object.assign(X(v({__name:`Column`,props:{col:{},dragId:{},classes:{},agentName:{type:Function},childCount:{type:Function}},emits:[`dragStart`,`dragEnd`,`dragOver`,`drop`,`dragLeave`,`open`,`openMenu`],setup(e,{emit:t}){let n=t;return(t,r)=>(y(),T(`div`,{class:i([`task-col`,e.classes]),onDragover:r[2]||=t=>n(`dragOver`,t,e.col),onDragleave:r[3]||=t=>n(`dragLeave`,e.col.key),onDrop:r[4]||=t=>n(`drop`,t,e.col)},[w(`div`,Lc,[w(`span`,{class:`st-dot`,style:a({background:e.col.dot})},null,4),w(`span`,Rc,s(e.col.title),1),w(`span`,zc,s(e.col.items.length),1)]),w(`div`,Bc,[(y(!0),T(E,null,b(e.col.items,t=>(y(),j(Ic,{key:t.id,task:t,"column-title":e.col.title,"column-dot":e.col.dot,dragging:e.dragId===t.id,"agent-name":e.agentName(t.assigneeId),"child-count":e.childCount(t.id),onDragStart:r=>n(`dragStart`,r,t,e.col.key),onDragEnd:r[0]||=e=>n(`dragEnd`),onOpen:r[1]||=e=>n(`open`,e),onOpenMenu:e=>n(`openMenu`,e,t)},null,8,[`task`,`column-title`,`column-dot`,`dragging`,`agent-name`,`child-count`,`onDragStart`,`onOpenMenu`]))),128)),e.col.items.length===0?(y(),T(`div`,Vc,s(e.col.moveAction?t.$t(`taskBoardView.k13pad50007`):`-`),1)):k(``,!0)])],34))}}),[[`__scopeId`,`data-v-4b0c885a`]]),{__name:`WorkshopTaskBoardColumn`}),Uc={class:`task-list`},Wc={key:0,class:`list-sec sec`},Gc={class:`sec-title`},Kc={class:`sec-cnt`},qc=[`onClick`],Jc={class:`grow`},Yc={class:`lnum`},Xc={class:`meta`},Zc=Object.assign(X(v({__name:`List`,props:{columns:{},agentName:{type:Function},stateOf:{type:Function}},emits:[`open`],setup(e,{emit:t}){let n=t;return(t,r)=>(y(),T(`div`,Uc,[(y(!0),T(E,null,b(e.columns,t=>(y(),T(E,{key:t.key},[t.items.length?(y(),T(`div`,Wc,[w(`span`,{class:`st-dot`,style:a({background:t.dot})},null,4),w(`span`,Gc,s(t.title),1),w(`span`,Kc,s(t.items.length),1)])):k(``,!0),(y(!0),T(E,null,b(t.items,r=>(y(),T(`div`,{key:r.id,class:`list-row`,onClick:e=>n(`open`,r)},[w(`span`,Jc,s(r.title),1),w(`span`,Yc,`#`+s(e.agentName(r.assigneeId)),1),w(`span`,Xc,s(r.id.slice(0,8)),1),w(`span`,{class:`st-pill`,style:a({color:t.dot,borderColor:t.dot})},s(e.stateOf(r)),5)],8,qc))),128))],64))),128))]))}}),[[`__scopeId`,`data-v-fc8a2835`]]),{__name:`WorkshopTaskBoardList`}),Qc=[`onClick`],$c=Object.assign(X(v({__name:`StatusMenu`,props:{x:{},y:{},actions:{}},emits:[`close`,`action`],setup(e,{emit:t}){let n=t;return(t,r)=>(y(),T(E,null,[w(`div`,{class:`menu-backdrop`,onClick:r[0]||=e=>n(`close`),onScroll:r[1]||=e=>n(`close`)},null,32),w(`div`,{class:`st-menu`,style:a({left:`${e.x}px`,top:`${e.y}px`})},[(y(!0),T(E,null,b(e.actions,e=>(y(),T(`button`,{key:e.key,type:`button`,class:i({danger:e.danger}),onClick:t=>n(`action`,e.key)},[w(`span`,{class:i(e.key===`cancel`?`i-tabler-circle-off`:e.key===`retry`?`i-tabler-rotate`:`i-tabler-external-link`)},null,2),I(` `+s(e.label),1)],10,Qc))),128))],4)],64))}}),[[`__scopeId`,`data-v-d1d85578`]]),{__name:`WorkshopTaskBoardStatusMenu`}),el={class:`board-shell`},tl={class:`toolbar`},nl={class:`aw-seg`},rl={class:`count`},il={key:0,class:`root-pill active`},al={key:1,class:`root-pill queued`},ol={class:`root-pos`},sl={key:2,class:`root-pill done`},cl={key:0,class:`pane-empty`},ll={class:`pe-title`},ul={class:`aw-serif-accent-italic`},dl={class:`pe-sub`},fl={key:1,class:`board`},pl=Object.assign(X(v({__name:`TaskBoardView`,props:{channelId:{}},emits:[`openTask`],setup(n,{emit:r}){let a=n,o=r,c=e(a,`channelId`),{synced:l,mergedTasks:d,taskById:f,applyMove:p}=Ec(c),m=Z(),{columns:h,agentName:g,childCount:_,stateOf:v}=Dc(c,d),{dragId:x,onDragStart:C,onDragLeave:D,onDragOverCol:O,onDragEnd:A,colClasses:M,onDrop:N}=Oc({taskById:f,applyMove:p}),{menu:P,openMenu:F,closeMenu:L,menuActions:R,onMenuAction:z}=kc({applyMove:p,openTask:e=>{o(`openTask`,e)}}),B=S(()=>d.value.filter(e=>!e.parentId&&![`COMPLETED`,`FAILED`,`CANCELED`].includes(e.state)).sort((e,t)=>(e.rootQueueSeq??2**53-1)-(t.rootQueueSeq??2**53-1))),V=S(()=>m.rootQueue(a.channelId)),H=S(()=>V.value.activeRootId??B.value[0]?.id??null),U=S(()=>d.value.find(e=>e.id===H.value)??null),W=S(()=>{let e=V.value;return e.queuedRoots.length>0?e.queuedRoots.map(e=>({position:e.position,task:d.value.find(t=>t.id===e.taskId)})).filter(e=>!!e.task):B.value.slice(1).map((e,t)=>({position:t+2,task:e}))}),G=S(()=>V.value.completedRoots||d.value.filter(e=>!e.parentId&&[`COMPLETED`,`FAILED`,`CANCELED`].includes(e.state)).length),K=u(localStorage.getItem(`aw.tasks.boardLayout`)===`list`?`list`:`board`),ee=e=>{K.value=e,localStorage.setItem(`aw.tasks.boardLayout`,e)};return(e,n)=>(y(),T(`div`,el,[w(`div`,tl,[w(`div`,nl,[w(`button`,{type:`button`,class:i({on:t(K)===`board`}),onClick:n[0]||=e=>ee(`board`)},s(e.$t(`taskBoardView.k43pyn001`)),3),w(`button`,{type:`button`,class:i({on:t(K)===`list`}),onClick:n[1]||=e=>ee(`list`)},s(e.$t(`taskBoardView.k3x7l0002`)),3)]),w(`span`,rl,s(t(d).length)+` `+s(e.$t(`taskBoardView.k168w1ze004`)),1),t(U)?(y(),T(`span`,il,` Active root · `+s(t(U).title),1)):k(``,!0),t(W).length?(y(),T(`span`,al,[I(s(t(W).length)+` queued root`+s(t(W).length===1?``:`s`)+` `,1),w(`span`,ol,`#`+s(t(W).map(e=>e.position).join(`, #`)),1)])):k(``,!0),t(G)>0?(y(),T(`span`,sl,s(t(G))+` done `,1)):k(``,!0)]),t(d).length===0?(y(),T(`div`,cl,[w(`span`,{class:i(t(l)?`pe-icon i-tabler-list-check`:`pe-icon i-tabler-refresh`)},null,2),w(`div`,ll,[I(s(t(l)?e.$t(`taskBoardView.k3vkhhj006`):e.$t(`taskBoardView.k1f9c17l019`))+` `,1),w(`span`,ul,s(e.$t(`taskBoardView.k3wcox003`)),1)]),w(`div`,dl,s(t(l)?e.$t(`taskBoardView.emptySubNew`):e.$t(`taskBoardView.emptySubSync`)),1)])):t(K)===`board`?(y(),T(`div`,fl,[(y(!0),T(E,null,b(t(h),e=>(y(),j(Hc,{key:e.key,col:e,"drag-id":t(x),classes:t(M)(e),"agent-name":t(g),"child-count":t(_),onDragStart:t(C),onDragEnd:t(A),onDragOver:t(O),onDragLeave:t(D),onDrop:t(N),onOpen:n[2]||=e=>o(`openTask`,e.id),onOpenMenu:t(F)},null,8,[`col`,`drag-id`,`classes`,`agent-name`,`child-count`,`onDragStart`,`onDragEnd`,`onDragOver`,`onDragLeave`,`onDrop`,`onOpenMenu`]))),128))])):(y(),j(Zc,{key:2,columns:t(h),"agent-name":t(g),"state-of":t(v),onOpen:n[3]||=e=>o(`openTask`,e.id)},null,8,[`columns`,`agent-name`,`state-of`])),t(P)?(y(),j($c,{key:3,x:t(P).x,y:t(P).y,actions:t(R),onClose:t(L),onAction:t(z)},null,8,[`x`,`y`,`actions`,`onClose`,`onAction`])):k(``,!0)]))}}),[[`__scopeId`,`data-v-c4d89219`]]),{__name:`WorkshopTaskBoardView`}),ml={class:`split`},hl={key:0,class:`empty`},gl={class:`col-head`},_l={class:`col-name`},vl={class:`col-meta`},yl={class:`col-body`},bl={key:0,class:`col-empty`},xl=[`onClick`],Sl={class:`me-time`},Cl={class:`me-agent`},wl={class:`me-text`},Tl=360,El=Object.assign(X(v({__name:`MultiChannelView`,props:{wsId:{}},emits:[`openTask`],setup(e,{emit:n}){let{t:r}=G(),o=e,c=n,l=Tt(`aw.harness.mcColW`,{}),u=e=>l.value[e]??Tl,d=(e,t)=>{l.value={...l.value,[e]:Math.min(760,Math.max(300,u(e)+t))}},f=e=>{let t={...l.value};Reflect.deleteProperty(t,e),l.value=t},p=bt(),m=Z(),h=_t(),g=S(()=>(p.workspaces.find(e=>e.id===o.wsId)?.channelIds??[]).map(e=>{let t=m.agents[e]??[],n=m.tasks[e]??[];return{id:e,name:m.channels[e]?.name??e.slice(0,8),synced:m.channels[e]!==void 0,busy:t.filter(e=>e.state===`busy`).length,agents:t.length,activeTasks:n.filter(e=>![`COMPLETED`,`CANCELED`,`FAILED`].includes(e.state)).length,seq:h.lastSeq(e),items:h.ring(e).items.slice(-120)}})),_=e=>{let t=e.payload;switch(e.type){case`task.status`:return`${String(t.state)} ${String(t.taskId??``).slice(0,6)}`;case`task.progress`:return`${String(t.progress??``)}%`;case`agent.delta`:return`…${String(t.delta??``).slice(-24)}`;case`agent.message`:return`${String(t.parts?.[0]?.text??``).slice(0,40)}`;case`a2a.message`:return r(`multiChannelView.a2aMessage`,{p0:String(t.parts?.[0]?.text??``).slice(0,40)});case`a2a.artifact`:return r(`multiChannelView.a2aArtifact`,{p0:String(t.artifact?.name??``)});case`memory.saved`:return r(`multiChannelView.kfvue7n009`,{p0:String(t.title??``)});case`agent.member`:return r(`multiChannelView.khq39oe010`,{p0:String(t.op??``),p1:String(t.name??``)});case`agent.status`:return`${String(t.state)}`;case`error`:return r(`multiChannelView.k16wopr9011`,{p0:String(t.code??``)});default:return e.type}};return(e,n)=>{let r=gr;return y(),T(`div`,ml,[t(g).length===0?(y(),T(`div`,hl,s(e.$t(`multiChannelView.k1bfi9ms001`)),1)):k(``,!0),(y(!0),T(E,null,b(t(g),n=>(y(),T(E,{key:n.id},[w(`div`,{class:`col`,style:a({flexBasis:`${u(n.id)}px`})},[w(`div`,gl,[w(`span`,_l,s(n.name),1),w(`span`,vl,[n.synced?(y(),T(E,{key:0},[I(s(n.agents)+`a / `+s(e.$t(`multiChannelView.k4by6003`))+s(n.busy)+` / `+s(e.$t(`multiChannelView.k3wcox005`))+s(n.activeTasks)+` / seq`+s(n.seq),1)],64)):(y(),T(E,{key:1},[I(s(e.$t(`multiChannelView.k1bst7s9002`)),1)],64))])]),w(`div`,yl,[n.items.length===0?(y(),T(`div`,bl,s(n.synced?e.$t(`multiChannelView.k1el0s5k004`):e.$t(`multiChannelView.k1bst7s9002`)),1)):k(``,!0),(y(!0),T(E,null,b(n.items,e=>(y(),T(`div`,{key:`${n.id}-${e.seq}`,class:i([`mini-event`,{clickable:e.type===`task.status`}]),onClick:t=>e.type===`task.status`&&c(`openTask`,{channelId:n.id,taskId:e.payload.taskId})},[w(`span`,Sl,s(t(xt)(e.at)),1),w(`span`,Cl,s(e.agentId?.slice(0,4)??`sys`),1),w(`span`,wl,s(_(e)),1)],10,xl))),128))])],4),x(r,{label:e.$t(`multiChannelView.kvfx0mh006`,{p0:n.name}),onResize:e=>d(n.id,e),onReset:e=>f(n.id)},null,8,[`label`,`onResize`,`onReset`])],64))),128))])}}}),[[`__scopeId`,`data-v-072db8c2`]]),{__name:`WorkshopMultiChannelView`}),Dl={class:`memory-panel`},Ol={class:`toolbar`},kl=[`data-ok`],Al={class:`search-bar`},jl={key:1,class:`search-results`},Ml=[`title`],Nl=[`data-source`],Pl={class:`score`},Fl={class:`hit-title`},Il={class:`list-head`},Ll={class:`row-head`},Rl={class:`row-importance`},zl={class:`row-title`},Bl={class:`row-meta`},Vl={key:0,class:`row-time`},Hl={key:1,class:`row-vis`},Ul={key:2,class:`row-root`},Wl={key:3,class:`row-task`},Gl={class:`row-content`},Kl={key:0,class:`empty`},ql=Object.assign(X(v({__name:`MemoryPanel`,props:{channelId:{},agentId:{}},setup(e){let{t:n}=G(),r=e,i=Z(),a=$(),c=u(`shared`),d=u(r.agentId??``);C(()=>r.agentId,e=>{e&&(d.value=e)});let f=u({}),p=u(``),m=S(()=>p.value.trim()||f.value[d.value]||``),h=S(()=>m.value.length>0),g=async()=>{try{let e=await a.listChannelAgents(r.channelId),t={};for(let n of e.data??[])n.token&&(t[n.id]=n.token);if(f.value=t,!d.value){let t=(e.data??[]).find(e=>e.role===`lead`);t&&(d.value=t.id)}}catch{}};_(()=>void g()),C(()=>r.channelId,()=>{f.value={},d.value=r.agentId??``,g()});let v=S(()=>{let e={};return m.value&&(e.authorization=`Bearer ${m.value}`),e}),D=S(()=>i.agents[r.channelId]??[]),O=u([]),M=u(!1),N=async()=>{M.value=!0;try{let e=c.value===`shared`?`/api/workshop/channels/${r.channelId}/memories`:`/api/workshop/channels/${r.channelId}/agents/${d.value}/memories`,t=await(await fetch(e,{headers:v.value})).json();O.value=t.code===0?t.data:[],t.code!==0&&Y.warning(t.message??n(`memoryPanel.k186sctu014`))}finally{M.value=!1}};C([c,d,m],()=>{m.value&&(c.value===`shared`||d.value)&&N()});let P=u(``),F=u(`auto`),L=u([]),R=u(!1),z=async()=>{if(!P.value.trim()||!d.value||!m.value){Y.warning(n(`memoryPanel.k1eh0fbo015`));return}R.value=!0;try{let e=await(await fetch(`/api/workshop/channels/${r.channelId}/agents/${d.value}/memories/search`,{method:`POST`,headers:{"content-type":`application/json`,...v.value},body:JSON.stringify({query:P.value,scope:F.value,limit:8})})).json();L.value=e.code===0?e.data:[]}finally{R.value=!1}},B=u(!1),V=o({title:``,content:``,scope:`shared`,importance:.8,dedupKey:``}),H=async()=>{if(!V.title||!V.content||!d.value||!m.value){Y.warning(n(`memoryPanel.k1dpj734016`));return}let e=await(await fetch(`/api/workshop/channels/${r.channelId}/agents/${d.value}/memories`,{method:`POST`,headers:{"content-type":`application/json`,...v.value},body:JSON.stringify({...V,dedupKey:V.dedupKey||void 0})})).json();e.code===0?(Y.success(n(`memoryPanel.k3n5bat017`)),B.value=!1,V.title=``,V.content=``,N()):Y.error(e.message??n(`memoryPanel.k1bb5i1l018`))};return(n,r)=>{let i=Ke,a=We,o=ze,u=Ce,f=Ve,m=He,g=ke,_=tt,v=qe,S=st,C=Ge,U=Fe,W=Ue,G=Ee,K=ot,ee=Ie,te=Ne;return y(),T(`div`,Dl,[w(`div`,Ol,[x(a,{value:t(c),"onUpdate:value":r[0]||=e=>l(c)?c.value=e:null,size:`small`,"button-style":`solid`},{default:A(()=>[x(i,{value:`shared`},{default:A(()=>[I(s(n.$t(`memoryPanel.k3l2hmp005`)),1)]),_:1}),x(i,{value:`private`},{default:A(()=>[I(s(n.$t(`memoryPanel.k3rve9a006`)),1)]),_:1})]),_:1},8,[`value`]),e.agentId?k(``,!0):(y(),j(o,{key:0,value:t(d),"onUpdate:value":r[1]||=e=>l(d)?d.value=e:null,size:`small`,placeholder:n.$t(`memoryPanel.k1du3379001`),class:`agent-select`,options:t(D).map(e=>({value:e.agentId,label:e.name}))},null,8,[`value`,`placeholder`,`options`])),x(u,{title:t(h)?n.$t(`memoryPanel.tokenAuto`):n.$t(`memoryPanel.tokenManual`)},{default:A(()=>[w(`span`,{class:`token-state`,"data-ok":t(h)},[r[12]||=w(`span`,{class:`i-tabler-key`},null,-1),I(s(t(h)?`auto`:n.$t(`memoryPanel.k3zul4013`)),1)],8,kl)]),_:1},8,[`title`])]),t(h)?k(``,!0):(y(),j(f,{key:0,value:t(p),"onUpdate:value":r[2]||=e=>l(p)?p.value=e:null,size:`small`,placeholder:n.$t(`memoryPanel.tokenPh`),class:`token`},null,8,[`value`,`placeholder`])),w(`div`,Al,[x(m,{value:t(P),"onUpdate:value":r[3]||=e=>l(P)?P.value=e:null,size:`small`,placeholder:n.$t(`memoryPanel.searchPh`),loading:t(R),onSearch:z},null,8,[`value`,`placeholder`,`loading`]),x(o,{value:t(F),"onUpdate:value":r[4]||=e=>l(F)?F.value=e:null,size:`small`,class:`scope`,options:[{value:`auto`,label:`auto`},{value:`private`,label:`private`},{value:`shared`,label:`shared`}]},null,8,[`value`])]),t(L).length?(y(),T(`div`,jl,[(y(!0),T(E,null,b(t(L),e=>(y(),T(`div`,{key:e.id,class:`hit`,title:e.content.slice(0,200)},[w(`span`,{class:`src`,"data-source":e.source},s(e.source),9,Nl),w(`span`,Pl,s(e.score),1),w(`span`,Fl,s(e.title),1)],8,Ml))),128))])):k(``,!0),w(`div`,Il,[w(`span`,null,s(n.$t(`memoryPanel.k1k7okbe007`)),1),x(_,{size:`small`},{default:A(()=>[x(g,{size:`small`,type:`text`,onClick:N},{default:A(()=>[I(s(n.$t(`memoryPanel.k3x1jg008`)),1)]),_:1}),x(g,{size:`small`,type:`text`,onClick:r[5]||=e=>B.value=!0},{default:A(()=>[I(s(n.$t(`memoryPanel.k3wtib009`)),1)]),_:1})]),_:1})]),x(S,{spinning:t(M)},{default:A(()=>[(y(!0),T(E,null,b(t(O),e=>(y(),T(`div`,{key:e.id,class:`row`},[w(`div`,Ll,[x(v,{class:`kind`},{default:A(()=>[I(s(e.kind),1)]),_:2},1024),w(`span`,Rl,s(e.importance.toFixed(2)),1),w(`span`,zl,s(e.title),1)]),w(`div`,Bl,[e.createdAt?(y(),T(`span`,Vl,s(e.createdAt.slice(0,16).replace(`T`,` `)),1)):k(``,!0),e.visibility?(y(),T(`span`,Hl,s(e.visibility),1)):k(``,!0),e.rootId?(y(),T(`span`,Ul,`root `+s(e.rootId.slice(0,8)),1)):k(``,!0),e.taskId?(y(),T(`span`,Wl,`task `+s(e.taskId.slice(0,8)),1)):k(``,!0)]),w(`div`,Gl,s(e.content.slice(0,140))+s(e.content.length>140?`…`:``),1)]))),128)),t(O).length===0&&!t(M)?(y(),T(`div`,Kl,` (`+s(n.$t(`memoryPanel.k43rxk011`)),1)):k(``,!0)]),_:1},8,[`spinning`]),x(te,{open:t(B),"onUpdate:open":r[11]||=e=>l(B)?B.value=e:null,title:n.$t(`memoryPanel.k1bbee8p002`),"ok-text":n.$t(`memoryPanel.writeOk`),"cancel-text":n.$t(`common.cancel`),onOk:H},{default:A(()=>[x(ee,{layout:`vertical`},{default:A(()=>[x(U,{label:`scope`},{default:A(()=>[x(a,{value:t(V).scope,"onUpdate:value":r[6]||=e=>t(V).scope=e},{default:A(()=>[x(C,{value:`shared`},{default:A(()=>[I(s(n.$t(`memoryPanel.kemjjvq010`)),1)]),_:1}),x(C,{value:`private`},{default:A(()=>[I(` private(`+s(n.$t(`memoryPanel.k3onh9w012`)),1)]),_:1})]),_:1},8,[`value`])]),_:1}),x(U,{label:n.$t(`memoryPanel.k419s4003`)},{default:A(()=>[x(W,{value:t(V).title,"onUpdate:value":r[7]||=e=>t(V).title=e},null,8,[`value`])]),_:1},8,[`label`]),x(U,{label:n.$t(`memoryPanel.k3wv1f004`)},{default:A(()=>[x(G,{value:t(V).content,"onUpdate:value":r[8]||=e=>t(V).content=e,rows:4},null,8,[`value`])]),_:1},8,[`label`]),x(U,{label:`importance(0-1)`},{default:A(()=>[x(K,{value:t(V).importance,"onUpdate:value":r[9]||=e=>t(V).importance=e,min:0,max:1,step:.1},null,8,[`value`])]),_:1}),x(U,{label:n.$t(`memoryPanel.dedupLabel`)},{default:A(()=>[x(W,{value:t(V).dedupKey,"onUpdate:value":r[10]||=e=>t(V).dedupKey=e},null,8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`])])}}}),[[`__scopeId`,`data-v-a93513da`]]),{__name:`WorkshopMemoryPanel`}),Jl={class:`stats`},Yl={class:`kpis`},Xl={class:`kpi`},Zl={class:`kpi-num`},Ql={class:`kpi-label`},$l={class:`kpi`},eu={class:`kpi-num`},tu={class:`kpi-label`},nu={class:`kpi`},ru={class:`kpi-num`},iu={class:`kpi-label`},au={class:`chart`},ou={class:`types`},su={class:`types-title`},cu={class:`t-name`},lu={class:`t-bar-wrap`},uu={class:`t-n`},du={key:0,class:`empty`},fu=60,pu=Object.assign(X(v({__name:`StatsPanel`,props:{channelId:{}},setup(e){let n=e,r=_t(),i=mt(),o=S(()=>{let e=r.ring(n.channelId).items,t=Date.now(),i=Array(fu).fill(0);for(let n of e){let e=Date.parse(n.at);if(Number.isNaN(e))continue;let r=Math.floor((t-e)/1e3),a=r>=0&&r<fu?59-r:-1;a>=0&&(i[a]=(i[a]??0)+1)}return i}),c=S(()=>{let e=new Map;for(let t of r.ring(n.channelId).items)e.set(t.type,(e.get(t.type)??0)+1);return[...e.entries()].sort((e,t)=>t[1]-e[1])}),l=S(()=>({grid:{left:36,right:8,top:12,bottom:20},xAxis:{type:`category`,data:o.value.map((e,t)=>String(t-fu+1))},yAxis:{type:`value`,minInterval:1},tooltip:{trigger:`axis`},series:[{type:`line`,data:o.value,smooth:!0,showSymbol:!1,areaStyle:{opacity:.15},lineStyle:{width:1.5}}]})),u=S(()=>r.ring(n.channelId).items.length),d=S(()=>o.value.slice(-10).reduce((e,t)=>e+t,0)/10);return(n,o)=>{let f=m(`app-chart`);return y(),T(`div`,Jl,[w(`div`,Yl,[w(`div`,Xl,[w(`div`,Zl,s(t(u)),1),w(`div`,Ql,s(n.$t(`statsPanel.k1i88c0b001`)),1)]),w(`div`,$l,[w(`div`,eu,s(t(d).toFixed(1))+`/s `,1),w(`div`,tu,s(n.$t(`statsPanel.kfplawo002`)),1)]),w(`div`,nu,[w(`div`,ru,s(t(r).lastSeq(e.channelId)),1),w(`div`,iu,` seq / `+s(t(i).state),1)])]),w(`div`,au,[x(f,{option:t(l),class:`app-chart`,autoresize:``},null,8,[`option`])]),w(`div`,ou,[w(`div`,su,s(n.$t(`statsPanel.kzcd51003`)),1),(y(!0),T(E,null,b(t(c),([e,n])=>(y(),T(`div`,{key:e,class:`type-row`},[w(`span`,cu,s(e),1),w(`div`,lu,[w(`div`,{class:`t-bar`,style:a({width:`${Math.round(n/(t(c)[0]?.[1]??1)*100)}%`})},null,4)]),w(`span`,uu,s(n),1)]))),128)),t(c).length===0?(y(),T(`div`,du,s(n.$t(`statsPanel.k1pevwxl004`)),1)):k(``,!0)])])}}}),[[`__scopeId`,`data-v-23e4d795`]]),{__name:`WorkshopStatsPanel`}),mu={class:`inspector`},hu=[`onClick`,`onKeydown`],gu={class:`member-info`},_u={class:`member-name`},vu={class:`name-text`},yu={class:`member-meta`},bu={key:0,class:`prog`},xu={class:`member-cap`},Su={key:0,class:`empty`},Cu=[`onClick`,`onKeydown`],wu={class:`task-head`},Tu={class:`state-chip aw-mono`},Eu={class:`task-title`},Du={class:`task-meta`},Ou={key:0},ku={key:1},Au={key:0,class:`empty`},ju=Object.assign(X(v({__name:`InspectorPanel`,props:{channelId:{}},emits:[`openAgent`,`openTask`],setup(e,{emit:n}){let{t:r}=G(),o=e,c=n,d=Z(),f=u(`members`),p=S(()=>d.agents[o.channelId]??[]),m=S(()=>d.tasks[o.channelId]??[]),h=S(()=>m.value.filter(e=>!e.parentId)),g=S(()=>d.channels[o.channelId]!==void 0),_=S(()=>{let e=new Map;for(let t of m.value){if(t.state!==`COMPLETED`&&t.state!==`FAILED`)continue;let n=e.get(t.assigneeId)??{total:0,completed:0,failed:0,durationSum:0};n.total+=1,t.state===`COMPLETED`?(n.completed+=1,t.updatedAt&&t.createdAt&&(n.durationSum+=Math.max(0,new Date(t.updatedAt).getTime()-new Date(t.createdAt).getTime()))):n.failed+=1,e.set(t.assigneeId,n)}return e}),v=e=>{let t=_.value.get(e);if(!t||t.total===0)return r(`inspectorPanel.k1el1plr007`);let n=Math.round(t.completed/t.total*100),i=t.completed>0?Math.round(t.durationSum/t.completed/1e3):0;return r(`inspectorPanel.k12oip5c010`,{p0:n,p1:i,p2:t.failed})},C=e=>m.value.filter(t=>t.parentId===e).length,D={idle:`var(--tone-success-dot)`,busy:`var(--tone-info-dot)`,stopped:`var(--tone-neutral-dot)`};return(n,r)=>{let o=Ye,u=Bn,d=ql,m=pu,_=Ze;return y(),T(`div`,mu,[x(_,{"active-key":t(f),"onUpdate:activeKey":r[0]||=e=>l(f)?f.value=e:null,size:`small`,class:`tabs`},{default:A(()=>[x(o,{key:`members`,tab:n.$t(`inspectorPanel.tabMembers`)},{default:A(()=>[(y(!0),T(E,null,b(t(p),e=>(y(),T(`div`,{key:e.agentId,class:`member aw-tile`,role:`button`,tabindex:`0`,onClick:t=>c(`openAgent`,e.agentId),onKeydown:H(t=>c(`openAgent`,e.agentId),[`enter`])},[w(`span`,{class:`dot`,style:a({background:D[e.state]??`var(--tone-neutral-dot)`})},null,4),w(`div`,gu,[w(`div`,_u,[w(`span`,vu,s(e.name),1),w(`span`,{class:i([`role-chip`,e.role])},s(e.role),3)]),w(`div`,yu,[e.state===`busy`&&e.currentTaskTitle?(y(),T(E,{key:0},[I(s(e.currentTaskTitle)+` `,1),e.currentTaskProgress==null?k(``,!0):(y(),T(`span`,bu,s(e.currentTaskProgress)+`%`,1))],64)):(y(),T(E,{key:1},[I(s(e.state)+` `,1),e.queued?(y(),T(E,{key:0},[I(` · `+s(n.$t(`inspectorPanel.k498bf001`))+` `+s(e.queued),1)],64)):k(``,!0),e.completed?(y(),T(E,{key:1},[I(` · `+s(n.$t(`inspectorPanel.k3ypnl002`))+` `+s(e.completed),1)],64)):k(``,!0)],64))]),w(`div`,xu,s(v(e.agentId)),1)])],40,hu))),128)),t(p).length===0?(y(),T(`div`,Su,s(t(g)?n.$t(`inspectorPanel.k1el4cgf005`):n.$t(`inspectorPanel.k1tqitzl008`)),1)):k(``,!0)]),_:1},8,[`tab`]),x(o,{key:`tasks`,tab:n.$t(`inspectorPanel.tabTasks`)},{default:A(()=>[(y(!0),T(E,null,b(t(h),e=>(y(),T(`div`,{key:e.id,class:`task aw-tile`,role:`button`,tabindex:`0`,onClick:t=>c(`openTask`,e.id),onKeydown:H(t=>c(`openTask`,e.id),[`enter`])},[w(`div`,wu,[w(`span`,Tu,s(e.state),1),w(`span`,Eu,s(e.title),1)]),w(`div`,Du,[I(s(e.id.slice(0,8))+` · `+s(e.progress)+`% `,1),C(e.id)?(y(),T(`span`,Ou,`· `+s(n.$t(`inspectorPanel.k3mp44x003`))+` `+s(C(e.id)),1)):k(``,!0),e.artifacts?(y(),T(`span`,ku,`· `+s(n.$t(`inspectorPanel.k3w9q9004`))+` `+s(e.artifacts),1)):k(``,!0)]),e.state===`WORKING`?(y(),j(u,{key:0,percent:e.progress,size:`small`,"show-info":!1},null,8,[`percent`])):k(``,!0)],40,Cu))),128)),t(h).length===0?(y(),T(`div`,Au,s(t(g)?n.$t(`inspectorPanel.k1el0vqb006`):n.$t(`inspectorPanel.kks0y5h009`)),1)):k(``,!0)]),_:1},8,[`tab`]),x(o,{key:`memory`,tab:n.$t(`inspectorPanel.tabMemory`)},{default:A(()=>[x(d,{"channel-id":e.channelId},null,8,[`channel-id`])]),_:1},8,[`tab`]),x(o,{key:`stats`,tab:n.$t(`inspectorPanel.tabStats`)},{default:A(()=>[x(m,{"channel-id":e.channelId},null,8,[`channel-id`])]),_:1},8,[`tab`])]),_:1},8,[`active-key`])])}}}),[[`__scopeId`,`data-v-38b7c15b`]]),{__name:`WorkshopInspectorPanel`}),Mu={class:`center-pane`},Nu={key:1,class:`pane-empty`},Pu={class:`pe-title`},Fu={class:`pe-sub`},Iu=Object.assign(X(v({__name:`CenterPane`,props:{wsId:{},channelId:{},view:{},narrow:{type:Boolean}},emits:[`openTask`,`openAgent`],setup(e,{emit:t}){let n=t;return(t,r)=>{let i=hs,a=Fs,o=Tc,c=pl,l=El,u=wt,d=ju;return y(),T(`div`,Mu,[e.channelId?(y(),T(E,{key:0},[e.view===`timeline`?(y(),j(i,{key:0,"channel-id":e.channelId},null,8,[`channel-id`])):e.view===`chat`?(y(),j(a,{key:1,"channel-id":e.channelId},null,8,[`channel-id`])):e.view===`lanes`?(y(),j(o,{key:2,"channel-id":e.channelId},null,8,[`channel-id`])):e.view===`board`?(y(),j(c,{key:3,"channel-id":e.channelId,onOpenTask:r[0]||=t=>n(`openTask`,{channelId:e.channelId,taskId:t})},null,8,[`channel-id`])):e.view===`split`?(y(),j(l,{key:4,"ws-id":e.wsId,onOpenTask:r[1]||=e=>n(`openTask`,e)},null,8,[`ws-id`])):e.view===`town`?(y(),j(u,{key:5,"channel-id":e.channelId},null,8,[`channel-id`])):e.view===`inspector`&&e.narrow?(y(),j(d,{key:6,"channel-id":e.channelId,onOpenAgent:r[2]||=e=>n(`openAgent`,e),onOpenTask:r[3]||=t=>n(`openTask`,{channelId:e.channelId,taskId:t})},null,8,[`channel-id`])):k(``,!0)],64)):(y(),T(`div`,Nu,[r[5]||=w(`span`,{class:`pe-icon i-tabler-messages`},null,-1),w(`div`,Pu,[I(s(t.$t(`wsView.klzbtyp007`))+` `,1),r[4]||=w(`span`,{class:`aw-serif-accent-italic`},`Channel`,-1),I(` `+s(t.$t(`wsView.k3zaj4008`)),1)]),w(`div`,Fu,s(t.$t(`wsView.k1us0cxy009`)),1)]))])}}}),[[`__scopeId`,`data-v-d18673eb`]]),{__name:`WorkshopConsoleCenterPane`}),Lu={class:`member-panel`},Ru={class:`mp-head`},zu={class:`mp-count`},Bu={class:`mp-scroll`},Vu={class:`mp-actions`},Hu={key:1,class:`mp-hint`},Uu={key:1,class:`mp-hint pending`},Wu={key:3,class:`mp-hint`},Gu={class:`mp-list`},Ku={class:`aw-avatar mp-ava`},qu={class:`mp-info`},Ju={class:`mp-name-line`},Yu={class:`mp-name`},Xu={key:0,class:`mp-role owner`},Zu={class:`mp-sub`},Qu=[`data-status`],$u={class:`mp-joined`},ed={key:0,class:`mp-row-actions`},td={key:0,class:`mp-hint`},nd={key:0,class:`mp-settings`},rd={class:`mp-sec-title`},id={class:`mp-ver`},ad={class:`mp-field`},od={class:`mp-field`},sd={class:`mp-field`},cd={class:`mp-field switch`},ld={key:0,class:`mp-error`},ud=Object.assign(X(v({__name:`ChatMemberPanel`,props:{channelId:{}},setup(e){let n=e,r=pt(),a=S(()=>r.permissions[n.channelId]??null),o=S(()=>r.members[n.channelId]??[]),c=S(()=>r.settings[n.channelId]??null),l=S(()=>a.value?.canManage===!0),d=S(()=>a.value?.isOwner===!0),f=S(()=>a.value?.isMember===!0),p=S(()=>a.value?.canJoin===!0),m=S(()=>a.value?.status??null),h=S(()=>{let e={active:0,pending:1,left:2,removed:3};return[...o.value].sort((t,n)=>(e[t.status]??9)-(e[n.status]??9))}),g=u(null),v=u(``),D=u(null);function O(){let e=c.value;if(!e){D.value=null;return}D.value={visibility:e.visibility,joinPolicy:e.joinPolicy,approvalPolicy:e.approvalPolicy,chatEnabled:e.chatEnabled===1}}async function M(){await r.loadPermissions(n.channelId),await r.loadMembers(n.channelId)}_(()=>{M().then(O)}),C(()=>n.channelId,()=>{v.value=``,M().then(O)}),C(c,(e,t)=>{e&&(!t||t.version!==e.version)&&O()});async function N(){if(!g.value){g.value=`join`;try{await r.join(n.channelId)===`pending`?Y.info(`已提交加入申请,等待 owner 批准`):Y.success(`已加入群聊`),await M()}catch(e){let t=ht(e);t===`CHAT_DISABLED`?Y.warning(`该 Channel 未开启群聊`):t===`CHANNEL_PRIVATE`?Y.warning(`该 Channel 未公开,需 owner 邀请`):Y.error(gt(e))}finally{g.value=null}}}async function P(){if(!g.value){g.value=`leave`;try{await r.leave(n.channelId),Y.success(`已退出群聊`),await M()}catch(e){ht(e)===`OWNER_CANNOT_LEAVE`?Y.warning(`owner 不能退出群聊,请先转移 owner`):Y.error(gt(e))}finally{g.value=null}}}async function F(e){if(!g.value){g.value=`approve:${e.userId}`;try{await r.approveMember(n.channelId,e.userId),Y.success(`已批准加入`)}catch(e){Y.error(gt(e))}finally{g.value=null}}}async function L(e){if(!g.value){g.value=`remove:${e.userId}`;try{await r.removeMember(n.channelId,e.userId),Y.success(`已移除成员`)}catch(e){Y.error(gt(e))}finally{g.value=null}}}async function R(){let e=D.value;if(!(!e||g.value)){v.value=``,g.value=`settings`;try{await r.updateSettings(n.channelId,{visibility:e.visibility,joinPolicy:e.joinPolicy,approvalPolicy:e.approvalPolicy,chatEnabled:+!!e.chatEnabled}),Y.success(`群聊设置已保存`),O()}catch(e){ht(e)===`VERSION_CONFLICT`?v.value=`Channel 设置已被他人修改,请刷新后重试`:(ht(e),v.value=gt(e))}finally{g.value=null}}}let z={active:`在群`,pending:`待批准`,left:`已退出`,removed:`已移除`},B=e=>(e.displayName||e.userId.slice(0,8)).trim().charAt(0).toUpperCase();return(e,n)=>{let r=ke,u=Qe,_=ze,S=ct;return y(),T(`div`,Lu,[w(`div`,Ru,[n[7]||=w(`span`,{class:`i-tabler-users-group mp-icon`},null,-1),n[8]||=w(`span`,{class:`mp-title`},`成员`,-1),w(`span`,zu,s(o.value.filter(e=>e.status===`active`).length),1),n[9]||=w(`span`,{class:`mp-spacer`},null,-1),w(`button`,{type:`button`,class:`mp-refresh`,title:`刷新成员与设置`,onClick:n[0]||=e=>M().then(O)},[...n[6]||=[w(`span`,{class:`i-tabler-refresh`},null,-1)]])]),w(`div`,Bu,[w(`div`,Vu,[f.value?m.value===`pending`?(y(),T(`div`,Uu,[...n[11]||=[w(`span`,{class:`i-tabler-hourglass`},null,-1),I(` 加入申请待 owner 批准 `,-1)]])):d.value?(y(),T(`div`,Wu,[...n[13]||=[w(`span`,{class:`i-tabler-crown`},null,-1),I(` 你是 owner(不可退出,可转移 owner 或删除 Channel) `,-1)]])):(y(),j(u,{key:2,title:`退出群聊后将立即失去读、发言、审批与通知补拉权限,确认退出?`,"ok-text":e.$t(`common.confirm`),"cancel-text":e.$t(`common.cancel`),onConfirm:P},{default:A(()=>[x(r,{size:`small`,block:``,loading:g.value===`leave`},{default:A(()=>[...n[12]||=[I(` 退出群聊 `,-1)]]),_:1},8,[`loading`])]),_:1},8,[`ok-text`,`cancel-text`])):(y(),T(E,{key:0},[p.value?(y(),j(r,{key:0,size:`small`,type:`primary`,block:``,loading:g.value===`join`,onClick:N},{default:A(()=>[...n[10]||=[I(` 加入群聊 `,-1)]]),_:1},8,[`loading`])):(y(),T(`div`,Hu,s(a.value===null?`未加入群聊 —— 需 owner 邀请或 Channel 未公开`:`该 Channel 未公开或未开启群聊 —— 需 owner 邀请`),1))],64))]),w(`div`,Gu,[(y(!0),T(E,null,b(h.value,a=>(y(),T(`div`,{key:a.userId,class:i([`mp-row`,a.status])},[w(`span`,Ku,s(B(a)),1),w(`div`,qu,[w(`div`,Ju,[w(`span`,Yu,s(a.displayName||a.userId.slice(0,8)),1),a.role===`owner`?(y(),T(`span`,Xu,`owner`)):k(``,!0)]),w(`div`,Zu,[w(`span`,{class:`mp-status`,"data-status":a.status},s(z[a.status]),9,Qu),w(`span`,$u,s(t(xt)(a.joinedAt,!1)),1)])]),l.value&&a.role!==`owner`?(y(),T(`div`,ed,[a.status===`pending`?(y(),j(r,{key:0,size:`small`,type:`primary`,loading:g.value===`approve:${a.userId}`,onClick:e=>F(a)},{default:A(()=>[...n[14]||=[I(` 批准 `,-1)]]),_:1},8,[`loading`,`onClick`])):k(``,!0),a.status===`active`||a.status===`pending`?(y(),j(u,{key:1,title:`移除该成员后其立即失去群聊与审批权限,确认?`,"ok-text":e.$t(`common.remove`),"cancel-text":e.$t(`common.cancel`),onConfirm:e=>L(a)},{default:A(()=>[x(r,{size:`small`,danger:``,loading:g.value===`remove:${a.userId}`},{default:A(()=>[I(s(e.$t(`common.remove`)),1)]),_:1},8,[`loading`])]),_:2},1032,[`ok-text`,`cancel-text`,`onConfirm`])):k(``,!0)])):k(``,!0)],2))),128)),h.value.length===0?(y(),T(`div`,td,` 名册不可见(非成员) `)):k(``,!0)]),l.value&&D.value?(y(),T(`div`,nd,[w(`div`,rd,[n[15]||=I(` 群聊设置 `,-1),w(`span`,id,`v`+s(c.value?.version??`-`),1)]),w(`label`,ad,[n[16]||=w(`span`,null,`可见性`,-1),x(_,{value:D.value.visibility,"onUpdate:value":n[1]||=e=>D.value.visibility=e,size:`small`,options:[{value:`private`,label:`私有(仅成员可见)`},{value:`public`,label:`公开(登录用户可发现)`}]},null,8,[`value`])]),w(`label`,od,[n[17]||=w(`span`,null,`加入策略`,-1),x(_,{value:D.value.joinPolicy,"onUpdate:value":n[2]||=e=>D.value.joinPolicy=e,size:`small`,options:[{value:`owner_approve`,label:`需 owner 批准`},{value:`open`,label:`开放加入`}]},null,8,[`value`])]),w(`label`,sd,[n[18]||=w(`span`,null,`审批策略`,-1),x(_,{value:D.value.approvalPolicy,"onUpdate:value":n[3]||=e=>D.value.approvalPolicy=e,size:`small`,options:[{value:`owner_only`,label:`仅 owner 可决策`},{value:`any_member`,label:`任一成员可决策`}]},null,8,[`value`])]),w(`label`,cd,[n[19]||=w(`span`,null,`开启群聊`,-1),x(S,{checked:D.value.chatEnabled,"onUpdate:checked":n[4]||=e=>D.value.chatEnabled=e,size:`small`},null,8,[`checked`])]),v.value?(y(),T(`div`,ld,[I(s(v.value)+` `,1),x(r,{size:`small`,type:`link`,onClick:n[5]||=e=>M().then(O)},{default:A(()=>[...n[20]||=[I(` 刷新 `,-1)]]),_:1})])):k(``,!0),x(r,{size:`small`,type:`primary`,block:``,loading:g.value===`settings`,onClick:R},{default:A(()=>[...n[21]||=[I(` 保存设置 `,-1)]]),_:1},8,[`loading`])])):k(``,!0)])])}}}),[[`__scopeId`,`data-v-76f98421`]]),{__name:`WorkshopChatMemberPanel`}),dd={key:0,class:`right-main`},fd={key:1,class:`pane-loading`},pd={key:2,class:`right-chat`},md=Object.assign(X(v({__name:`RightPane`,props:{channelId:{},rightWidth:{},loaded:{type:Boolean}},emits:[`openAgent`,`openTask`],setup(e,{emit:t}){let n=t;return(t,r)=>{let o=ju,c=ud;return y(),T(`div`,{class:i([`right-pane`,{empty:e.loaded&&!e.channelId}]),style:a({flexBasis:`${e.rightWidth}px`})},[e.channelId?(y(),T(`div`,dd,[x(o,{"channel-id":e.channelId,onOpenAgent:r[0]||=e=>n(`openAgent`,e),onOpenTask:r[1]||=t=>n(`openTask`,{channelId:e.channelId,taskId:t})},null,8,[`channel-id`])])):e.loaded?k(``,!0):(y(),T(`div`,fd,s(t.$t(`wsView.loadingWs`)),1)),e.channelId?(y(),T(`div`,pd,[x(c,{"channel-id":e.channelId},null,8,[`channel-id`])])):k(``,!0)],6)}}}),[[`__scopeId`,`data-v-09d00231`]]),{__name:`WorkshopConsoleRightPane`});function hd(e){let{input:t,mentionCandidates:n,mode:r,toAgentId:i}=e,a=u(!1),o=u(``),s=u(0),c=()=>{let e=document.activeElement,n=e?.value??t.value,r=e?.selectionStart??n.length,i=n.slice(0,r),c=/(^|\s)@([^\s@]*)$/.exec(i);if(!c){a.value=!1;return}o.value=c[2]??``,a.value=l.value.length>0,s.value=0},l=S(()=>{let e=o.value.toLowerCase();return n.value.filter(t=>!e||t.name.toLowerCase().includes(e)).slice(0,8)}),d=e=>{let n=l.value[e];if(!n)return;let o=document.activeElement,s=o?.value??t.value,c=o?.selectionStart??s.length,u=s.slice(0,c),d=/(^|\s)@([^\s@]*)$/.exec(u),f=d?c-(d[2]?.length??0):c,p=`${s.slice(0,f)}${n.name} ${s.slice(c)}`;t.value=p,n.type===`agent`&&r.value!==`chat`&&(i.value=n.id),a.value=!1,D(()=>{let e=f+n.name.length+1;o?.setSelectionRange(e,e),o?.focus()})},f=e=>a.value?e.key===`ArrowDown`?(e.preventDefault(),s.value=Math.min(s.value+1,l.value.length-1),!0):e.key===`ArrowUp`?(e.preventDefault(),s.value=Math.max(s.value-1,0),!0):e.key===`Enter`||e.key===`Tab`?(e.preventDefault(),d(s.value),!0):e.key===`Escape`&&(a.value=!1,!0):!1,p=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return{mentionOpen:a,mentionQuery:o,mentionHi:s,mentionFiltered:l,detectMention:c,pickMention:d,onMentionKeydown:f,escapeRegExp:p,parseMentions:e=>{let t=[],r=new Set,i=[...n.value].sort((e,t)=>t.name.length-e.name.length);for(let n of i){if(!RegExp(`(^|[\\s(])@${p(n.name)}(?=$|[\\s,.。,:;!?)\\]])`,`m`).test(e))continue;let i=`${n.type}:${n.id}`;r.has(i)||(r.add(i),t.push({type:n.type,id:n.id,label:n.name}))}return t}}}var gd={class:`composer-bar`},_d={class:`cb-left`},vd={class:`aw-seg`},yd={class:`aw-seg`},bd=[`onClick`],xd={class:`aw-seg`},Sd=[`title`],Cd=[`title`],wd={class:`cb-right`},Td=[`disabled`,`title`],Ed=Object.assign(X(v({__name:`ComposerToolbar`,props:O({canPost:{type:Boolean},canManage:{type:Boolean},perms:{},workersAndLead:{},sendLoading:{type:Boolean},input:{}},{mode:{required:!0},modeModifiers:{},toAgentId:{required:!0},toAgentIdModifiers:{},taskMode:{required:!0},taskModeModifiers:{},loopIntervalModel:{required:!0},loopIntervalModelModifiers:{},loopMaxIterationsModel:{required:!0},loopMaxIterationsModelModifiers:{},priority:{required:!0},priorityModifiers:{},requireReply:{type:Boolean,required:!0},requireReplyModifiers:{}}),emits:O([`pick`,`send`],[`update:mode`,`update:toAgentId`,`update:taskMode`,`update:loopIntervalModel`,`update:loopMaxIterationsModel`,`update:priority`,`update:requireReply`]),setup(e,{emit:t}){let n=t,r=g(e,`mode`),a=g(e,`toAgentId`),o=g(e,`taskMode`),c=g(e,`loopIntervalModel`),l=g(e,`loopMaxIterationsModel`),u=g(e,`priority`),d=g(e,`requireReply`);return(t,f)=>{let p=ze,m=ot;return y(),T(`div`,gd,[w(`div`,_d,[w(`div`,vd,[e.canPost||!e.perms?(y(),T(`button`,{key:0,type:`button`,class:i({on:r.value===`chat`}),title:`群聊:仅显式 @Agent 才触发执行`,onClick:f[0]||=e=>n(`pick`,`chat`)},` 群聊 `,2)):k(``,!0),e.canManage||!e.perms||!e.canPost?(y(),T(`button`,{key:1,type:`button`,class:i({on:r.value===`task`}),onClick:f[1]||=e=>n(`pick`,`task`)},s(t.$t(`composer.k3wcox005`)),3)):k(``,!0),e.canManage||!e.perms||!e.canPost?(y(),T(`button`,{key:2,type:`button`,class:i({on:r.value===`message`}),onClick:f[2]||=e=>n(`pick`,`message`)},s(t.$t(`composer.k41ykc007`)),3)):k(``,!0)]),r.value===`chat`?k(``,!0):(y(),j(p,{key:0,value:a.value,"onUpdate:value":f[3]||=e=>a.value=e,size:`small`,class:`target`,options:e.workersAndLead.map(e=>({value:e.agentId,label:`@ ${e.name}${e.role===`lead`?` · lead`:``}`}))},null,8,[`value`,`options`])),r.value===`task`?(y(),T(E,{key:1},[w(`div`,yd,[(y(),T(E,null,b([`goal`,`loop`,`pipeline`],e=>w(`button`,{key:e,type:`button`,class:i({on:o.value===e}),onClick:t=>o.value=e},s(e),11,bd)),64))]),o.value===`loop`?(y(),T(E,{key:0},[x(m,{value:c.value,"onUpdate:value":f[4]||=e=>c.value=e,size:`small`,min:1,max:86400,step:1,precision:0,"addon-after":t.$t(`composer.seconds`),class:`loop-number`},null,8,[`value`,`addon-after`]),x(m,{value:l.value,"onUpdate:value":f[5]||=e=>l.value=e,size:`small`,min:1,max:1e4,step:1,precision:0,placeholder:t.$t(`composer.k1b38y2b001`),class:`loop-number iterations`},null,8,[`value`,`placeholder`])],64)):k(``,!0)],64)):r.value===`message`?(y(),T(E,{key:2},[w(`div`,xd,[w(`button`,{type:`button`,class:i({on:u.value===`immediate`}),title:t.$t(`composer.k1jqqvhe002`),onClick:f[6]||=e=>u.value=`immediate`},s(t.$t(`composer.k3x9n2008`)),11,Sd),w(`button`,{type:`button`,class:i({on:u.value===`task`}),onClick:f[7]||=e=>u.value=`task`},s(t.$t(`composer.k40g8m009`)),3)]),w(`button`,{type:`button`,class:i([`chip-toggle`,{on:d.value}]),title:t.$t(`composer.k195594v003`),onClick:f[8]||=e=>d.value=!d.value},[f[10]||=w(`span`,{class:`i-tabler-mail-forward`},null,-1),I(` `+s(t.$t(`composer.k3xv7u010`)),1)],10,Cd)],64)):k(``,!0)]),w(`div`,wd,[w(`button`,{type:`button`,class:`send-btn im`,disabled:e.sendLoading||!e.input.trim()||r.value===`chat`&&!e.canPost,title:t.$t(`composer.sendTitle`),onClick:f[9]||=e=>n(`send`)},[...f[11]||=[w(`span`,{class:`i-tabler-send im-nudge-up`},null,-1)]],8,Td)])])}}}),[[`__scopeId`,`data-v-29be197e`]]),{__name:`WorkshopComposerToolbar`}),Dd={class:`mention-menu`},Od={class:`mention-title`},kd=[`onMousedown`,`onMouseenter`],Ad={class:`mention-name`},jd={class:`mention-role`},Md=[`title`],Nd=Object.assign(X(v({__name:`MentionMenu`,props:{candidates:{},highlighted:{}},emits:[`pick`,`hover`],setup(e,{emit:n}){let r=n;return(n,o)=>(y(),T(`div`,Dd,[w(`div`,Od,s(n.$t(`composer.k1bxvc46004`)),1),(y(!0),T(E,null,b(e.candidates,(n,o)=>(y(),T(`button`,{key:n.key,type:`button`,class:i([`mention-opt`,{sel:o===e.highlighted}]),onMousedown:z(e=>r(`pick`,o),[`prevent`]),onMouseenter:e=>r(`hover`,o)},[w(`span`,{class:i([`aw-avatar mention-ava`,n.type===`agent`?`is-agent`:`is-user`]),style:a({"--av":n.type===`agent`?t(Gn)(n.id):`var(--ink-faint)`})},s(n.type===`agent`?`A`:`人`),7),w(`span`,Ad,`@`+s(n.name),1),w(`span`,jd,s(n.role),1),n.type===`agent`?(y(),T(`span`,{key:0,class:i([`mention-state`,n.state]),title:n.state},null,10,Md)):k(``,!0)],42,kd))),128))]))}}),[[`__scopeId`,`data-v-a42e4a1c`]]),{__name:`WorkshopComposerMentionMenu`}),Pd={class:`reply-chip`},Fd={class:`reply-label`},Id={class:`reply-excerpt`},Ld=Object.assign(X(v({__name:`ReplyChip`,props:{senderName:{},excerpt:{}},emits:[`cancel`],setup(e,{emit:t}){let n=t;return(t,r)=>(y(),T(`div`,Pd,[r[3]||=w(`span`,{class:`i-tabler-arrow-back-up`},null,-1),w(`span`,Fd,[r[1]||=I(`回复 `,-1),w(`b`,null,s(e.senderName),1)]),w(`span`,Id,s(e.excerpt),1),w(`button`,{type:`button`,class:`reply-cancel`,title:`取消回复`,onClick:r[0]||=e=>n(`cancel`)},[...r[2]||=[w(`span`,{class:`i-tabler-x`},null,-1)]])]))}}),[[`__scopeId`,`data-v-59520bd3`]]),{__name:`WorkshopComposerReplyChip`}),Rd={class:`composer-status-chip`},zd={key:0,class:`reach-chip`,"data-tone":`info`,title:`仅显式 @Agent 触发执行`},Bd={key:1,class:`reach-chip`,"data-tone":`ok`,title:`未 @Agent:消息只进群聊,不触发任何 Agent`},Vd={key:2,class:`chip-hint`},Hd={key:3,class:`chip-hint`},Ud={class:`chip-key`},Wd={key:0},Gd=[`title`],Kd=[`data-tone`,`title`],qd={class:`chip-hint`},Jd={class:`chip-key`},Yd={key:0},Xd=[`data-tone`,`title`],Zd={class:`chip-hint`},Qd=Object.assign(X(v({__name:`StatusChip`,props:{mode:{},draftAgentMentions:{},draftUserMentions:{},taskMode:{},loopIntervalSeconds:{},targetName:{},isDefaultLead:{type:Boolean},reachHint:{},priority:{}},setup(e){return(t,n)=>(y(),T(`div`,Rd,[e.mode===`chat`?(y(),T(E,{key:0},[n[2]||=w(`span`,{class:`chip-key`},`群聊`,-1),e.draftAgentMentions.length>0?(y(),T(`span`,zd,[n[0]||=w(`span`,{class:`reach-dot`,"aria-hidden":`true`},null,-1),I(`@`+s(e.draftAgentMentions.map(e=>e.label).join(` @`))+` · 将触发 `+s(e.draftAgentMentions.length)+` 次 Agent 执行 `,1)])):(y(),T(`span`,Bd,[...n[1]||=[w(`span`,{class:`reach-dot`,"aria-hidden":`true`},null,-1),I(`仅群聊 · 0 次 Agent 执行 `,-1)]])),e.draftUserMentions.length>0?(y(),T(`span`,Vd,`@`+s(e.draftUserMentions.map(e=>e.label).join(` @`))+` 将收到定向通知`,1)):(y(),T(`span`,Hd,`输入 @ 提及成员 · Enter 发送`))],64)):e.mode===`task`?(y(),T(E,{key:1},[w(`span`,Ud,s(t.$t(`composer.k3wcox005`)),1),w(`span`,null,s(e.taskMode),1),e.taskMode===`loop`?(y(),T(`span`,Wd,s(t.$t(`composer.k49kr1011`))+` `+s(e.loopIntervalSeconds??`-`)+`s `,1)):k(``,!0),w(`span`,{class:`chip-target`,title:e.isDefaultLead?t.$t(`composer.defaultLeadTitle`):t.$t(`composer.kl3604i033`,{p0:e.targetName})},`→ `+s(e.targetName?`@${e.targetName}`:`lead`)+s(e.isDefaultLead?t.$t(`composer.k2z7yuw012`):t.$t(`composer.k2z0fsx032`)),9,Gd),e.reachHint?(y(),T(`span`,{key:1,class:`reach-chip`,"data-tone":e.reachHint.tone,title:e.reachHint.title},[n[3]||=w(`span`,{class:`reach-dot`,"aria-hidden":`true`},null,-1),I(s(e.reachHint.text),1)],8,Kd)):k(``,!0),w(`span`,qd,s(t.$t(`composer.k17u6q77006`)),1)],64)):(y(),T(E,{key:2},[w(`span`,Jd,s(t.$t(`composer.k41ykc007`)),1),e.targetName?(y(),T(`span`,Yd,`@`+s(e.targetName)+s(e.isDefaultLead?t.$t(`composer.k2z7yuw012`):``),1)):k(``,!0),w(`span`,null,s(e.priority===`immediate`?t.$t(`composer.k1bosqfv013`):t.$t(`composer.k40g8m009`)),1),e.reachHint?(y(),T(`span`,{key:1,class:`reach-chip`,"data-tone":e.reachHint.tone,title:e.reachHint.title},[n[4]||=w(`span`,{class:`reach-dot`,"aria-hidden":`true`},null,-1),I(s(e.reachHint.text),1)],8,Xd)):k(``,!0),w(`span`,Zd,s(t.$t(`composer.chipHint`)),1)],64))]))}}),[[`__scopeId`,`data-v-2cc33deb`]]),{__name:`WorkshopComposerStatusChip`}),$d={class:`composer`},ef={class:`composer-box`},tf={key:2,class:`composer-block-hint`},nf=[`placeholder`],rf=Object.assign(X(v({__name:`Composer`,props:{channelId:{}},emits:[`submitted`],setup(e,{emit:n}){let{t:r}=G(),i=e,a=n,o=$(),c=Z(),d=ut(),f=pt(),p=u(`chat`),m=u(!1),h=u(``),g=S(()=>f.permissions[i.channelId]??null),_=S(()=>g.value?.canPost===!0),v=S(()=>g.value?.canManage===!0),b=S(()=>g.value?.isMember===!0);C(()=>i.channelId,e=>{e&&(f.loadPermissions(e),f.loadMembers(e))},{immediate:!0}),C(_,e=>{m.value||(p.value=e?`chat`:`task`)},{immediate:!0});let E=e=>{p.value=e,m.value=!0},{quoteText:O}=Zi(),A=u(null);C(O,e=>{if(!e)return;let t=e.trim().split(`
|
|
15
|
+
`).map(e=>`> ${e}`).join(`
|
|
16
|
+
`);h.value=h.value?`${h.value}\n\n${t}\n\n`:`${t}\n\n`,O.value=null,D(()=>A.value?.focus())});let N=u(`goal`),P=u(60),F=u(null),L=S({get:()=>P.value??void 0,set:e=>{P.value=e??null}}),z=S({get:()=>F.value??void 0,set:e=>{F.value=e??null}}),B=u(!1),V=S(()=>c.agents[i.channelId]??[]),H=S(()=>V.value),U=S(()=>V.value.find(e=>e.role===`lead`)?.agentId??V.value[0]?.agentId??``),W=u(``);C([V,U],([e])=>{e.length!==0&&(!W.value||!e.some(e=>e.agentId===W.value))&&(W.value=U.value||(e[0]?.agentId??``))},{immediate:!0});let K=u(`immediate`),ee=u(!1),te=()=>{W.value=U.value},{mentionOpen:ne,mentionHi:re,mentionFiltered:q,detectMention:ie,pickMention:ae,onMentionKeydown:oe,parseMentions:se}=hd({input:h,mentionCandidates:S(()=>{let e=[];for(let t of H.value)e.push({key:`agent:${t.agentId}`,type:`agent`,id:t.agentId,name:t.name,role:t.role,state:t.state});let t=d.user?.id;for(let n of f.members[i.channelId]??[])n.status===`active`&&(t&&n.userId===t||e.push({key:`user:${n.userId}`,type:`user`,id:n.userId,name:n.displayName||n.userId.slice(0,8),role:n.role===`owner`?`owner`:`member`}));return e}),mode:p,toAgentId:W}),ce=S(()=>p.value===`chat`?se(h.value).filter(e=>e.type===`agent`):[]),le=S(()=>p.value===`chat`?se(h.value).filter(e=>e.type===`user`):[]),ue=S(()=>f.replyTarget&&f.replyTarget.channelId===i.channelId?f.replyTarget:null);C(ue,e=>{e&&(_.value&&(p.value=`chat`),D(()=>A.value?.focus()))});let de=u(null),fe=()=>{let e=globalThis.crypto;return e&&typeof e.randomUUID==`function`?e.randomUUID():`c-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`},pe=(e,t,n)=>JSON.stringify([e,t,n.map(e=>`${e.type}:${e.id}`).sort()]);C(()=>i.channelId,()=>{de.value=null,m.value=!1,p.value=_.value?`chat`:`task`});let J=()=>{let[e,...t]=h.value.trim().split(`
|
|
17
|
+
`);return{title:(e??``).slice(0,120),description:t.join(`
|
|
18
|
+
`).trim()||void 0}},me=async e=>{let t=se(e),n=ue.value?.messageId??null,r=pe(e,n,t);(!de.value||de.value.fingerprint!==r)&&(de.value={clientMessageId:fe(),fingerprint:r});let a=await f.send({channelId:i.channelId,text:e,mentions:t,replyToId:n,clientMessageId:de.value.clientMessageId});de.value=null,f.clearReplyTarget(),a.unresolvedMentions?.length&&Y.warning(`未识别的 @: ${a.unresolvedMentions.join(`、`)}(不在本群成员内,未投递)`);let o=a.deliveries?.length??0;o>0?Y.success(`已发到群聊 · ${o} 个 Agent 已收到投递`):Y.success(`已发到群聊(未 @Agent,无 Agent 执行)`)},he=async()=>{let e=h.value.trim();if(e&&!B.value){B.value=!0;try{if(p.value===`chat`)await me(e);else if(p.value===`task`){let{title:e,description:t}=J();if(!e){Y.warning(r(`composer.kqdhdlq014`));return}let n=P.value,a=F.value;if(N.value===`loop`){if(n===null||!Number.isFinite(n)||n<1||n>86400){Y.warning(r(`composer.loopIntervalRange`));return}if(a!==null&&(!Number.isInteger(a)||a<1||a>1e4)){Y.warning(r(`composer.k1l36qf9015`));return}}await o.submitTask(i.channelId,{title:e,description:t,mode:N.value,...N.value===`loop`?{modeConfig:{intervalMs:Math.round(n*1e3),...a===null?{}:{maxIterations:Math.floor(a)}}}:{},assigneeId:W.value||void 0,fromLabel:d.user?.name??void 0,parts:[{text:h.value.trim()}]});let s=ve.value||`lead`;Y.success(r(`composer.k1d2idgj035`,{p0:s,p1:N.value})),te()}else{if(!W.value){Y.warning(r(`composer.k1bw65is016`));return}await o.injectMessage(i.channelId,{toAgentId:W.value,text:e,priority:K.value,requireReply:ee.value,fromLabel:d.user?.name??void 0}),Y.success(r(`composer.k1wk4bf036`,{p0:ve.value,p1:K.value===`immediate`?r(`composer.k1cxjc4m034`):r(`composer.k40g8m009`)})),te()}h.value=``,a(`submitted`)}catch(e){let t=ht(e);p.value===`chat`&&t===`CHAT_DISABLED`?Y.warning(`该 Channel 未开启群聊 —— 请 owner 在右侧成员面板开启后重试`):p.value===`chat`&&(t===`NOT_CHANNEL_MEMBER`||t===`FORBIDDEN_LEGACY`)?Y.warning(`你还不是该 Channel 的群成员 —— 请在右侧成员面板加入群聊`):Y.error(gt(e))}finally{B.value=!1}}},ge=e=>{if(!e.isComposing&&!oe(e)){if(e.key===`Enter`&&(e.ctrlKey||e.metaKey)){e.preventDefault(),he();return}e.key===`Enter`&&!e.shiftKey&&p.value===`chat`&&(e.preventDefault(),he())}};C(h,async()=>{await D();let e=A.value;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`)});let _e=S(()=>H.value.find(e=>e.agentId===W.value)),ve=S(()=>_e.value?.name??``),ye=S(()=>!!U.value&&W.value===U.value),be=S(()=>{if(!_e.value)return null;let e=_e.value.state;return p.value===`task`?e===`busy`?{tone:`info`,text:r(`composer.k1ww0ftm017`),title:r(`composer.k9eq10w018`)}:e===`stopped`?{tone:`warn`,text:r(`composer.kbhz1rp019`),title:r(`composer.kophjf5020`)}:{tone:`ok`,text:r(`composer.k4qgtiw021`),title:r(`composer.kfmjwas022`)}:e===`busy`?{tone:`info`,text:K.value===`immediate`?r(`composer.kwg68t0023`):r(`composer.k7w1etd024`),title:r(`composer.k9m6p7u025`)}:e===`stopped`?{tone:`warn`,text:r(`composer.kj1ngpo026`),title:r(`composer.kmf7lcc027`)}:{tone:`ok`,text:r(`composer.k1tet5df028`),title:r(`composer.kn600in029`)}}),xe=S(()=>p.value===`chat`?`发送到群聊… @ 提及 Agent(触发执行)或成员(仅通知)`:p.value===`task`?r(`composer.k2h5jwc030`):r(`composer.k15mwzt7031`));return(e,n)=>(y(),T(`div`,$d,[w(`div`,ef,[t(ne)?(y(),j(Nd,{key:0,candidates:t(q),highlighted:t(re),onPick:t(ae),onHover:n[0]||=e=>re.value=e},null,8,[`candidates`,`highlighted`,`onPick`])):k(``,!0),t(ue)?(y(),j(Ld,{key:1,"sender-name":t(ue).senderName,excerpt:t(ue).excerpt,onCancel:n[1]||=e=>t(f).clearReplyTarget()},null,8,[`sender-name`,`excerpt`])):k(``,!0),x(Qd,{mode:t(p),"draft-agent-mentions":t(ce),"draft-user-mentions":t(le),"task-mode":t(N),"loop-interval-seconds":t(P),"target-name":t(ve),"is-default-lead":t(ye),"reach-hint":t(be),priority:t(K)},null,8,[`mode`,`draft-agent-mentions`,`draft-user-mentions`,`task-mode`,`loop-interval-seconds`,`target-name`,`is-default-lead`,`reach-hint`,`priority`]),t(p)===`chat`&&t(g)&&!t(_)?(y(),T(`div`,tf,[n[12]||=w(`span`,{class:`i-tabler-lock`},null,-1),I(` `+s(t(b)?`该 Channel 未开启群聊(owner 可在右侧成员面板开启)`:`你还不是群成员 —— 请在右侧成员面板加入群聊后发言`),1)])):k(``,!0),M(w(`textarea`,{ref_key:`taEl`,ref:A,"onUpdate:modelValue":n[2]||=e=>l(h)?h.value=e:null,class:`composer-input`,rows:`1`,placeholder:t(xe),onInput:n[3]||=(...e)=>t(ie)&&t(ie)(...e),onKeydown:ge,onBlur:n[4]||=e=>ne.value=!1},null,40,nf),[[R,t(h)]]),x(Ed,{mode:t(p),"onUpdate:mode":n[5]||=e=>l(p)?p.value=e:null,"to-agent-id":t(W),"onUpdate:toAgentId":n[6]||=e=>l(W)?W.value=e:null,"task-mode":t(N),"onUpdate:taskMode":n[7]||=e=>l(N)?N.value=e:null,"loop-interval-model":t(L),"onUpdate:loopIntervalModel":n[8]||=e=>l(L)?L.value=e:null,"loop-max-iterations-model":t(z),"onUpdate:loopMaxIterationsModel":n[9]||=e=>l(z)?z.value=e:null,priority:t(K),"onUpdate:priority":n[10]||=e=>l(K)?K.value=e:null,"require-reply":t(ee),"onUpdate:requireReply":n[11]||=e=>l(ee)?ee.value=e:null,"can-post":t(_),"can-manage":t(v),perms:t(g),"workers-and-lead":t(H),"send-loading":t(B),input:t(h),onPick:E,onSend:he},null,8,[`mode`,`to-agent-id`,`task-mode`,`loop-interval-model`,`loop-max-iterations-model`,`priority`,`require-reply`,`can-post`,`can-manage`,`perms`,`workers-and-lead`,`send-loading`,`input`])])]))}}),[[`__scopeId`,`data-v-685c0ff5`]]),{__name:`WorkshopComposer`}),af={class:`head`},of={class:`state-text`},sf={class:`role-chip`},cf={class:`queue-meta`},lf={key:0,class:`current-task`},uf={class:`stream`},df={key:0,class:`empty`},ff={class:`group-title`},pf={class:`state-chip aw-mono`},mf={class:`qt-title`},hf={class:`qt-meta`},gf={key:0,class:`empty`},_f={class:`footer`},vf={key:0,class:`member-ops`},yf={class:`op-label`},bf={class:`send-box`},xf={class:`send-ops`},Sf=520,Cf=Object.assign(X(v({__name:`AgentInspectorDrawer`,props:O({channelId:{},agentId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:O([`removed`],[`update:open`]),setup(e,{emit:n}){let{t:r}=G(),i=e,o=g(e,`open`),c=n,d=Tt(`aw.drawer.agentW`,Sf),f=e=>{d.value=Math.min(900,Math.max(360,d.value-e))},p=Z(),m=_t(),h=$(),_=S(()=>i.agentId?p.agentById(i.channelId,i.agentId):void 0),v=u(`stream`),C=u(!1),D=async e=>{if(i.agentId){C.value=!0;try{await h.updateChannelAgent(i.channelId,i.agentId,{enabled:+(e===!0),reason:r(e===!0?`agentInspectorDrawer.kgjqkq9014`:`agentInspectorDrawer.kpkjhbz015`)}),Y.success(r(e===!0?`agentInspectorDrawer.k3n5z7y016`:`agentInspectorDrawer.k1dst50d017`))}catch(e){Y.error(Q(e))}finally{C.value=!1}}},O=u(!1),M=async()=>{if(i.agentId){O.value=!0;try{await h.removeChannelAgent(i.channelId,i.agentId),Y.success(r(`agentInspectorDrawer.kane5dq018`)),o.value=!1,c(`removed`,i.agentId)}catch(e){Y.error(Q(e))}finally{O.value=!1}}},{blocks:N}=Wi(()=>i.channelId,{predicate:e=>e.agentId===i.agentId,resetKey:()=>i.agentId,raw:!0}),P=S(()=>{let e=p.tasks[i.channelId]??[],t=i.agentId?e.filter(e=>e.assigneeId===i.agentId):[];return{working:t.filter(e=>[`WORKING`,`ASSIGNED`].includes(e.state)),queued:t.filter(e=>e.state===`SUBMITTED`),done:t.filter(e=>[`COMPLETED`,`FAILED`,`CANCELED`].includes(e.state))}}),F=S(()=>_.value?.currentTaskId?p.taskTitle(i.channelId,_.value.currentTaskId):``),L=S(()=>i.agentId&&(m.focusAgents[i.channelId]??null)===i.agentId),R=()=>{i.agentId&&(m.setFocusAgent(i.channelId,L.value?null:i.agentId),Y.success(L.value?r(`agentInspectorDrawer.k1p055kl019`):r(`agentInspectorDrawer.ky2fhkf020`)))},B=u(``),V=u(`immediate`),U=u(!1),W=u(!1),K=async()=>{if(!(!i.agentId||!B.value.trim())){W.value=!0;try{await h.injectMessage(i.channelId,{toAgentId:i.agentId,text:B.value.trim(),priority:V.value,requireReply:U.value}),Y.success(r(`agentInspectorDrawer.k1y2jrsr021`)),B.value=``}catch(e){Y.error(Q(e))}finally{W.value=!1}}},ee={idle:`var(--tone-success-dot)`,busy:`var(--tone-info-dot)`,stopped:`var(--tone-neutral-dot)`};return(n,r)=>{let i=gr,c=ke,u=Wo,p=Ye,m=qt,h=ql,g=Ze,S=ct,G=Qe,te=Ee,ne=lt,re=nt,q=at;return y(),j(q,{open:o.value,"onUpdate:open":r[5]||=e=>o.value=e,placement:`right`,width:t(d),title:t(_)?`${t(_).name}(${t(_).role})`:`Agent`,class:`agent-drawer aw-resizable-drawer`},{default:A(()=>[x(i,{variant:`bare`,class:`drawer-resizer`,label:n.$t(`agentInspectorDrawer.k6hcbxi001`),onResize:f,onReset:r[0]||=e=>d.value=Sf},null,8,[`label`]),t(_)?(y(),T(E,{key:0},[w(`div`,af,[w(`span`,{class:`dot`,style:a({background:ee[t(_).state]??`var(--tone-neutral-dot)`})},null,4),w(`span`,of,s(t(_).state),1),w(`span`,sf,s(t(_).harness),1),w(`span`,cf,s(n.$t(`agentInspectorDrawer.k498bf010`))+s(t(_).queued??0)+` · `+s(n.$t(`agentInspectorDrawer.k3ypnl022`))+s(t(_).completed??0),1),x(c,{size:`small`,type:t(L)?`primary`:`default`,onClick:R},{default:A(()=>[I(s(t(L)?n.$t(`agentInspectorDrawer.k1bs9x43013`):n.$t(`agentInspectorDrawer.k16t80ax023`)),1)]),_:1},8,[`type`])]),t(F)?(y(),T(`div`,lf,s(n.$t(`agentInspectorDrawer.kk653nv011`))+s(t(F))+`」 `,1)):k(``,!0),x(g,{"active-key":t(v),"onUpdate:activeKey":r[1]||=e=>l(v)?v.value=e:null,size:`small`,class:`drawer-tabs`},{default:A(()=>[x(p,{key:`stream`,tab:n.$t(`agentInspectorDrawer.tabStream`)},{default:A(()=>[w(`div`,uf,[t(N).length===0?(y(),T(`div`,df,s(n.$t(`agentInspectorDrawer.k1frr9es004`)),1)):k(``,!0),(y(!0),T(E,null,b(t(N),e=>(y(),j(u,{key:e.id,block:e},null,8,[`block`]))),128))])]),_:1},8,[`tab`]),x(p,{key:`queue`},{tab:A(()=>[I(s(n.$t(`agentInspectorDrawer.k1axbijb005`))+` `,1),x(m,{count:t(P).working.length,"number-style":{backgroundColor:`var(--tone-info-dot)`},size:`small`},null,8,[`count`])]),default:A(()=>[(y(!0),T(E,null,b([[n.$t(`agentInspectorDrawer.grpWorking`),t(P).working],[n.$t(`agentInspectorDrawer.grpQueued`),t(P).queued],[n.$t(`agentInspectorDrawer.grpDone`),t(P).done]],e=>(y(),T(`div`,{key:e[0],class:`queue-group`},[w(`div`,ff,s(e[0])+`(`+s(e[1].length)+`) `,1),(y(!0),T(E,null,b(e[1],e=>(y(),T(`div`,{key:e.id,class:`queue-task`},[w(`span`,pf,s(e.state),1),w(`span`,mf,s(e.title),1),w(`span`,hf,s(e.progress)+`%`,1)]))),128)),e[1].length===0?(y(),T(`div`,gf,` (`+s(n.$t(`agentInspectorDrawer.k43rxk012`)),1)):k(``,!0)]))),128))]),_:1}),x(p,{key:`memory`,tab:n.$t(`agentInspectorDrawer.tabMemory`)},{default:A(()=>[x(h,{"channel-id":e.channelId,"agent-id":e.agentId??void 0},null,8,[`channel-id`,`agent-id`])]),_:1},8,[`tab`])]),_:1},8,[`active-key`]),w(`div`,_f,[t(_).role===`worker`?(y(),T(`div`,vf,[w(`span`,yf,s(n.$t(`agentInspectorDrawer.kas9m5q006`)),1),x(S,{checked:(t(_).enabled??1)===1,loading:t(C),"checked-children":n.$t(`agentInspectorDrawer.swOn`),"un-checked-children":n.$t(`agentInspectorDrawer.swOff`),size:`small`,onChange:D},null,8,[`checked`,`loading`,`checked-children`,`un-checked-children`]),x(G,{title:n.$t(`agentInspectorDrawer.k1ofh789002`),"ok-text":n.$t(`agentInspectorDrawer.okRemove`),"cancel-text":n.$t(`common.cancel`),onConfirm:M},{default:A(()=>[x(c,{size:`small`,danger:``,type:`text`,loading:t(O)},{default:A(()=>[I(s(n.$t(`agentInspectorDrawer.k1hrtylo007`)),1)]),_:1},8,[`loading`])]),_:1},8,[`title`,`ok-text`,`cancel-text`])])):k(``,!0),w(`div`,bf,[x(te,{value:t(B),"onUpdate:value":r[2]||=e=>l(B)?B.value=e:null,"auto-size":{minRows:1,maxRows:3},placeholder:n.$t(`agentInspectorDrawer.kwsotdg003`),onKeydown:H(z(K,[`ctrl`,`prevent`]),[`enter`])},null,8,[`value`,`placeholder`,`onKeydown`]),w(`div`,xf,[x(ne,{value:t(V),"onUpdate:value":r[3]||=e=>l(V)?V.value=e:null,size:`small`,options:[{value:`immediate`,label:n.$t(`agentInspectorDrawer.prioImmediate`)},{value:`task`,label:n.$t(`agentInspectorDrawer.prioQueued`)}]},null,8,[`value`,`options`]),x(re,{checked:t(U),"onUpdate:checked":r[4]||=e=>l(U)?U.value=e:null},{default:A(()=>[I(s(n.$t(`agentInspectorDrawer.k1jxt8vh008`)),1)]),_:1},8,[`checked`]),x(c,{type:`primary`,size:`small`,loading:t(W),onClick:K},{default:A(()=>[I(s(n.$t(`agentInspectorDrawer.k3xkc7009`)),1)]),_:1},8,[`loading`])])])])],64)):k(``,!0)]),_:1},8,[`open`,`width`,`title`])}}}),[[`__scopeId`,`data-v-fbf23e4d`]]),{__name:`WorkshopAgentInspectorDrawer`}),wf={class:`head`},Tf={class:`meta`},Ef={class:`meta`},Df={key:0,class:`failure-reason`},Of={class:`fr-label`},kf={class:`fr-text`},Af={key:1,class:`guardrail-strip`},jf={key:0,class:`guardrail-chip deadline`},Mf={key:1,class:`guardrail-chip reason`},Nf={key:2,class:`guardrail-chip tree`},Pf={key:3,class:`route-reason`},Ff={class:`route-label`},If={class:`route-text`},Lf={key:0,class:`empty`},Rf={class:`tl-time`},zf={key:1,class:`tl-progress`},Bf={key:0,class:`empty`},Vf={key:0,class:`empty`},Hf={class:`child-title`},Uf={class:`child-meta`},Wf={class:`raw`},Gf=560,Kf=Object.assign(X(v({__name:`TaskInspectorDrawer`,props:O({channelId:{},taskId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let{t:n}=G(),r=e,i=g(e,`open`),a=Tt(`aw.drawer.taskW`,Gf),o=e=>{a.value=Math.min(960,Math.max(380,a.value-e))},c=Z(),l=_t(),d=$(),f=u(null),p=u(!1),m=async()=>{if(r.taskId){p.value=!0;try{let e=(await d.getTask(r.taskId,r.channelId)).data??null;f.value=e&&e.channelId&&e.channelId!==r.channelId?null:e}catch{f.value=null}finally{p.value=!1}}};C(()=>[i.value,r.taskId],()=>{i.value&&r.taskId&&m()});let h=S(()=>r.taskId?c.taskById(r.channelId,r.taskId):void 0),_=S(()=>c.tasks[r.channelId]??[]),v=S(()=>r.taskId?_.value.filter(e=>e.parentId===r.taskId):[]),D=S(()=>{if(!r.taskId)return[];let e=[],t=[...v.value],n=new Set(t.map(e=>e.id));for(;t.length;){let r=t.shift();e.push(r);for(let e of _.value)e.parentId===r.id&&!n.has(e.id)&&(n.add(e.id),t.push(e))}return e}),O=S(()=>f.value??h.value),M=S(()=>D.value.filter(e=>![`COMPLETED`,`FAILED`,`CANCELED`].includes(e.state))),N=S(()=>D.value.filter(e=>e.state===`CANCELED`)),P=S(()=>({total:D.value.length,active:M.value.length,canceled:N.value.length})),F=S(()=>{let e=O.value?.deadlineAt;if(!e)return``;let t=new Date(e).getTime();if(!Number.isFinite(t))return e;let n=t-Date.now();if(n<=0)return`已超时`;let r=Math.ceil(n/6e4);return r<60?`剩余约 ${r} 分钟`:`截止 ${xt(e)}`}),L=S(()=>P.value.total>0?`这会同时停止 ${P.value.active} 个活动后代任务,已完成结果会保留。确定继续?`:`确定取消这个任务吗?`),R=S(()=>r.taskId?l.ring(r.channelId).items.filter(e=>e.taskId===r.taskId&&(e.type===`task.status`||e.type===`task.progress`)):[]),z=u(!1),B=async()=>{if(r.taskId){z.value=!0;try{await d.cancelTask(r.taskId),c.refreshTasks(r.channelId),Y.success(n(`taskInspectorDrawer.k1xj595a013`)),m()}catch(e){Y.error(Q(e))}finally{z.value=!1}}},V=u(!1),H=async()=>{if(r.taskId){V.value=!0;try{await d.retryTask(r.taskId),Y.success(n(`taskInspectorDrawer.ke7bh8u014`)),m()}catch(e){Y.error(Q(e))}finally{V.value=!1}}},U=e=>c.agentById(r.channelId,e)?.name??e.slice(0,8),W=S(()=>{let e=f.value;if(!e||e.state!==`FAILED`)return``;let t=e.history??[];for(let e=t.length-1;e>=0;e--){let n=(t[e]?.parts??[]).map(e=>e.text??``).join(` `).trim();if(n)return n.slice(0,500)}return e.description?.trim()??``}),K={SUBMITTED:`default`,ASSIGNED:`processing`,WORKING:`processing`,WAITING:`warning`,COMPLETED:`success`,FAILED:`error`,CANCELED:`default`};return(e,n)=>{let r=gr,c=qe,l=ke,u=Qe,d=rt,m=it,g=Ye,_=vo,S=Ze,C=st,D=at;return y(),j(D,{open:i.value,"onUpdate:open":n[1]||=e=>i.value=e,placement:`right`,width:t(a),title:t(f)?.title??t(h)?.title??e.$t(`taskInspectorDrawer.fallbackTitle`),class:`aw-resizable-drawer`},{default:A(()=>[x(r,{variant:`bare`,class:`drawer-resizer`,label:e.$t(`taskInspectorDrawer.k6hcbxi001`),onResize:o,onReset:n[0]||=e=>a.value=Gf},null,8,[`label`]),x(C,{spinning:t(p)},{default:A(()=>[t(f)||t(h)?(y(),T(E,{key:0},[w(`div`,wf,[x(c,{color:K[t(h)?.state??t(f)?.state??``]??`default`},{default:A(()=>[I(s(t(h)?.state??t(f)?.state),1)]),_:1},8,[`color`]),w(`span`,Tf,s(e.$t(`taskInspectorDrawer.k3o48o4010`))+s(U(t(h)?.assigneeId??t(f)?.assigneeId??``)),1),w(`span`,Ef,s(t(h)?.progress??t(f)?.progress??0)+`%`,1),n[2]||=w(`div`,{class:`spacer`},null,-1),(t(h)?.state??t(f)?.state)===`FAILED`?(y(),j(u,{key:0,title:e.$t(`taskInspectorDrawer.kns2a6x002`),onConfirm:H},{default:A(()=>[x(l,{size:`small`,loading:t(V)},{default:A(()=>[I(s(e.$t(`taskInspectorDrawer.k1lcgf2b005`)),1)]),_:1},8,[`loading`])]),_:1},8,[`title`])):k(``,!0),x(u,{title:t(L),onConfirm:B},{default:A(()=>[x(l,{danger:``,size:`small`,loading:t(z),disabled:[`COMPLETED`,`CANCELED`,`FAILED`].includes(t(h)?.state??t(f)?.state??``)},{default:A(()=>[I(s(e.$t(`taskInspectorDrawer.k1bs0t9b006`)),1)]),_:1},8,[`loading`,`disabled`])]),_:1},8,[`title`])]),(t(h)?.state??t(f)?.state)===`FAILED`&&t(W)?(y(),T(`div`,Df,[w(`span`,Of,s(e.$t(`taskInspectorDrawer.failReason`)),1),w(`span`,kf,s(t(W)),1)])):k(``,!0),t(F)||t(f)?.closeReason||t(P).total>0?(y(),T(`div`,Af,[t(F)?(y(),T(`span`,jf,[n[3]||=w(`span`,{class:`i-tabler-hourglass-high`},null,-1),I(` `+s(t(F)),1)])):k(``,!0),t(f)?.closeReason?(y(),T(`span`,Mf,[n[4]||=w(`span`,{class:`i-tabler-lock-square-rounded`},null,-1),I(` `+s(t(f).closeReason),1)])):k(``,!0),t(P).total>0?(y(),T(`span`,Nf,[n[5]||=w(`span`,{class:`i-tabler-git-branch`},null,-1),I(` 后代 `+s(t(P).total)+` · 活动 `+s(t(P).active)+` · 已取消 `+s(t(P).canceled),1)])):k(``,!0)])):k(``,!0),t(f)?.description?(y(),j(m,{key:2,column:1,size:`small`,class:`desc`},{default:A(()=>[x(d,{label:e.$t(`taskInspectorDrawer.k40gkk004`)},{default:A(()=>[I(s(t(f).description),1)]),_:1},8,[`label`])]),_:1})):k(``,!0),t(f)?.routeReason?(y(),T(`div`,Pf,[w(`span`,Ff,s(e.$t(`taskInspectorDrawer.k1knph8c007`)),1),w(`span`,If,s(t(f).routeReason),1)])):k(``,!0),x(S,{size:`small`,"default-active-key":`timeline`},{default:A(()=>[x(g,{key:`timeline`,tab:e.$t(`taskInspectorDrawer.tabTimeline`)},{default:A(()=>[t(R).length===0?(y(),T(`div`,Lf,s(e.$t(`taskInspectorDrawer.kr3vr2x008`)),1)):k(``,!0),(y(!0),T(E,null,b(t(R),n=>(y(),T(`div`,{key:`${n.seq}-${n.type}`,class:`tl-row`},[w(`span`,Rf,s(t(xt)(n.at)),1),n.type===`task.status`?(y(),j(c,{key:0,color:K[n.payload.state]??`default`,class:`state`},{default:A(()=>[I(s(n.payload.state),1)]),_:2},1032,[`color`])):(y(),T(`span`,zf,s(e.$t(`taskInspectorDrawer.k485ye011`))+` `+s(n.payload.progress)+`%`,1))]))),128))]),_:1},8,[`tab`]),x(g,{key:`artifacts`,tab:e.$t(`taskInspectorDrawer.kkp77tf015`,{p0:t(f)?.artifacts.length??0})},{default:A(()=>[t(f)?.artifacts.length?k(``,!0):(y(),T(`div`,Bf,` (`+s(e.$t(`taskInspectorDrawer.k401n2012`)),1)),(y(!0),T(E,null,b(t(f)?.artifacts??[],e=>(y(),j(_,{key:e.artifactId,artifact:e},null,8,[`artifact`]))),128))]),_:1},8,[`tab`]),x(g,{key:`children`,tab:e.$t(`taskInspectorDrawer.khnua62016`,{p0:t(v).length})},{default:A(()=>[t(v).length===0?(y(),T(`div`,Vf,s(e.$t(`taskInspectorDrawer.k1kmqn5u009`)),1)):k(``,!0),(y(!0),T(E,null,b(t(v),e=>(y(),T(`div`,{key:e.id,class:`child-row`},[x(c,{color:K[e.state]??`default`,class:`state`},{default:A(()=>[I(s(e.state),1)]),_:2},1032,[`color`]),w(`span`,Hf,s(e.title),1),w(`span`,Uf,s(U(e.assigneeId))+` · `+s(e.progress)+`%`,1)]))),128))]),_:1},8,[`tab`]),x(g,{key:`raw`,tab:e.$t(`taskInspectorDrawer.kxj74io017`,{p0:t(f)?.artifacts.reduce((e,t)=>e+t.parts.length,0)??0})},{default:A(()=>[w(`pre`,Wf,s(JSON.stringify(t(f)?.artifacts,null,2)?.slice(0,4e3)),1)]),_:1},8,[`tab`])]),_:1})],64)):k(``,!0)]),_:1},8,[`spinning`])]),_:1},8,[`open`,`width`,`title`])}}}),[[`__scopeId`,`data-v-25f7d667`]]),{__name:`WorkshopTaskInspectorDrawer`}),qf={class:`dbg`},Jf={class:`row`},Yf={class:`row`},Xf={class:`row ops`},Zf={class:`output`},Qf=600,$f=Object.assign(X(v({__name:`A2aRpcDebugger`,props:O({channelId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let{t:n}=G(),r=e,i=g(e,`open`),a=Tt(`aw.drawer.a2aW`,Qf),o=e=>{a.value=Math.min(1040,Math.max(420,a.value-e))},c=Z(),d=S(()=>c.agents[r.channelId]??[]),f=u(``);C(d,e=>{!f.value&&e.length>0&&(f.value=e[0]?.agentId??``)},{immediate:!0});let p=u(`tasks/list`),m=S(()=>[{value:`tasks/list`,label:`tasks/list`},{value:`tasks/get`,label:`tasks/get`},{value:`tasks/send`,label:`tasks/send`},{value:`tasks/sendSubscribe`,label:n(`a2aRpcDebugger.methodSse`),sse:!0},{value:`message/send`,label:n(`a2aRpcDebugger.methodToken`)},{value:`agent/getCard`,label:`agent/getCard`}]),h=u(`{}`),_=u(``),v=u(!1),b=u(``),T=()=>{switch(p.value){case`tasks/send`:case`tasks/sendSubscribe`:return{message:{role:`ROLE_USER`,parts:[{text:n(`a2aRpcDebugger.kq00d3v005`)}]}};case`tasks/get`:return{taskId:`<taskId>`};case`message/send`:return{message:{role:`ROLE_USER`,parts:[{text:n(`a2aRpcDebugger.k1kgwib8006`)}]}};default:return{}}},E=e=>{b.value+=`${e}\n`},D=async e=>{let t=await fetch(`/api/workshop/a2a/${f.value}/rpc`,{method:`POST`,headers:{"content-type":`application/json`,accept:`text/event-stream`,..._.value?{authorization:`Bearer ${_.value}`}:{}},body:JSON.stringify(e)});if(E(`▶ HTTP ${t.status} ${t.headers.get(`content-type`)??``}`),!t.body){E(await t.text());return}let r=t.body.getReader(),i=new TextDecoder,a=``;for(;;){let{done:e,value:t}=await r.read();if(e)break;a+=i.decode(t,{stream:!0});let n=a.split(`
|
|
19
|
+
|
|
20
|
+
`);a=n.pop()??``;for(let e of n){let t=e.split(`
|
|
21
|
+
`).find(e=>e.startsWith(`data:`));t&&E(`◀ ${t.slice(5).trim().slice(0,400)}`)}}E(n(`a2aRpcDebugger.k1e1hi4u007`))},O=async()=>{if(!f.value){Y.warning(n(`a2aRpcDebugger.k1vryfv008`));return}let e;try{e=JSON.parse(h.value||`{}`)}catch{Y.error(n(`a2aRpcDebugger.badParams`));return}v.value=!0,b.value=``;let t={jsonrpc:`2.0`,id:Date.now(),method:p.value,params:e};try{if(p.value===`tasks/sendSubscribe`)await D(t);else{let e=await fetch(`/api/workshop/a2a/${f.value}/rpc`,{method:`POST`,headers:{"content-type":`application/json`,..._.value?{authorization:`Bearer ${_.value}`}:{}},body:JSON.stringify(t)}),n=await e.text();E(`▶ POST /a2a/${f.value.slice(0,8)}/rpc ${p.value} → HTTP ${e.status}`),E(n.slice(0,4e3))}}catch(e){E(`✖ ${Q(e)}`)}finally{v.value=!1}};return(e,n)=>{let r=gr,c=ze,u=Ve,g=Ee,S=ke,C=at;return y(),j(C,{open:i.value,"onUpdate:open":n[6]||=e=>i.value=e,placement:`right`,width:t(a),title:e.$t(`a2aRpcDebugger.title`),class:`aw-resizable-drawer`},{default:A(()=>[x(r,{variant:`bare`,class:`drawer-resizer`,label:e.$t(`a2aRpcDebugger.k6hcbxi001`),onResize:o,onReset:n[0]||=e=>a.value=Qf},null,8,[`label`]),w(`div`,qf,[w(`div`,Jf,[x(c,{value:t(f),"onUpdate:value":n[1]||=e=>l(f)?f.value=e:null,class:`agent`,placeholder:e.$t(`a2aRpcDebugger.k34cz76002`),options:t(d).map(e=>({value:e.agentId,label:`${e.name}(${e.role})`}))},null,8,[`value`,`placeholder`,`options`]),x(c,{value:t(p),"onUpdate:value":n[2]||=e=>l(p)?p.value=e:null,class:`method`,options:t(m)},null,8,[`value`,`options`])]),x(u,{value:t(_),"onUpdate:value":n[3]||=e=>l(_)?_.value=e:null,size:`small`,placeholder:e.$t(`a2aRpcDebugger.tokenPh`),class:`token`},null,8,[`value`,`placeholder`]),w(`div`,Yf,[x(g,{value:t(h),"onUpdate:value":n[4]||=e=>l(h)?h.value=e:null,rows:6,class:`params`},null,8,[`value`])]),w(`div`,Xf,[x(S,{size:`small`,onClick:n[5]||=e=>h.value=JSON.stringify(T(),null,2)},{default:A(()=>[I(s(e.$t(`a2aRpcDebugger.k1bqe2pj003`)),1)]),_:1}),x(S,{type:`primary`,size:`small`,loading:t(v),onClick:O},{default:A(()=>[I(s(e.$t(`a2aRpcDebugger.k405w8004`)),1)]),_:1},8,[`loading`])]),w(`pre`,Zf,s(t(b)||e.$t(`a2aRpcDebugger.outputEmpty`)),1)])]),_:1},8,[`open`,`width`,`title`])}}}),[[`__scopeId`,`data-v-32b791de`]]),{__name:`WorkshopA2aRpcDebugger`}),ep={class:`palette`},tp={class:`palette-search`},np=[`placeholder`],rp={class:`palette-list`},ip=[`onClick`,`onMousemove`],ap={class:`pi-label`},op={key:0,class:`pi-hint`},sp={key:0,class:`palette-empty`},cp={class:`palette-foot`},lp=Object.assign(X(v({__name:`CommandPalette`,props:O({wsId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:O([`setView`,`openA2aDebug`,`compose`],[`update:open`]),setup(e,{emit:n}){let{t:r}=G(),a=e,o=g(e,`open`),c=bt(),d=Z(),f=_t(),p=n,m=u(``),v=u(0),x=S(()=>{let e=[{key:`nav-home`,label:r(`commandPalette.kmxxk3u006`),hint:`/workshop`,run:()=>U(`/workshop`)},{key:`nav-agents`,label:r(`commandPalette.k4s8e5q007`),hint:`/workshop/agents`,run:()=>U(`/workshop/agents`)},{key:`nav-teams`,label:r(`commandPalette.gotoTeams`),hint:`/workshop/teams`,run:()=>U(`/workshop/teams`)},{key:`nav-channel-templates`,label:r(`commandPalette.k1ezz11x008`),hint:`/workshop/channel-templates`,run:()=>U(`/workshop/channel-templates`)},{key:`nav-schedules`,label:r(`commandPalette.gotoSchedules`),hint:`/workshop/schedules`,run:()=>U(`/workshop/schedules`)},{key:`view-timeline`,label:r(`commandPalette.k143z9bg009`),run:()=>{p(`setView`,`timeline`)}},{key:`view-lanes`,label:r(`commandPalette.viewLanes`),run:()=>{p(`setView`,`lanes`)}},{key:`view-board`,label:r(`commandPalette.k13ztmim010`),run:()=>{p(`setView`,`board`)}},{key:`view-split`,label:r(`commandPalette.k21cpnp011`),run:()=>{p(`setView`,`split`)}},{key:`act-compose`,label:r(`commandPalette.k1tm54il012`),hint:`⌘I`,run:()=>{p(`compose`)}},{key:`act-a2a`,label:r(`commandPalette.actA2a`),run:()=>{p(`openA2aDebug`)}}];for(let t of c.workspaces.find(e=>e.id===a.wsId)?.channelIds??[]){let n=d.channels[t]?.name??t.slice(0,8);e.push({key:`ch-${t}`,label:r(`commandPalette.k1nz14ux013`,{p0:n}),hint:t.slice(0,8),run:()=>c.setActiveChannel(a.wsId,t)})}let t=c.workspaces.find(e=>e.id===a.wsId)?.activeChannelId;if(t){let n=f.filters[t]??`all`;for(let i of[`all`,`messages`,`tasks`,`errors`])i!==n&&e.push({key:`filter-${i}`,label:r(`commandPalette.k1d8xtez014`,{p0:i}),run:()=>f.setFilter(t,i)})}return e}),D=S(()=>{let e=m.value.trim().toLowerCase();return e?x.value.filter(t=>t.label.toLowerCase().includes(e)||(t.hint??``).toLowerCase().includes(e)):x.value});C(D,()=>{v.value=0});let O=e=>{let t=e??D.value[v.value];t&&(t.run(),o.value=!1,m.value=``)},A=e=>{e.key===`ArrowDown`?(e.preventDefault(),v.value=Math.min(v.value+1,D.value.length-1)):e.key===`ArrowUp`?(e.preventDefault(),v.value=Math.max(v.value-1,0)):e.key===`Enter`?(e.preventDefault(),O()):e.key===`Escape`&&(o.value=!1)},P=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),o.value=!o.value,m.value=``)};return _(()=>window.addEventListener(`keydown`,P)),h(()=>window.removeEventListener(`keydown`,P)),(e,n)=>(y(),j(N,{to:`body`},[o.value?(y(),T(`div`,{key:0,class:`palette-mask`,onClick:n[1]||=z(e=>o.value=!1,[`self`])},[w(`div`,ep,[w(`div`,tp,[n[2]||=w(`span`,{class:`i-tabler-search ps-icon`},null,-1),M(w(`input`,{"onUpdate:modelValue":n[0]||=e=>l(m)?m.value=e:null,class:`palette-input`,placeholder:e.$t(`commandPalette.k1nn6i83001`),autofocus:``,onKeydown:A},null,40,np),[[R,t(m)]])]),w(`div`,rp,[(y(!0),T(E,null,b(t(D),(e,n)=>(y(),T(`button`,{key:e.key,type:`button`,class:i([`palette-item`,{selected:n===t(v)}]),onClick:t=>O(e),onMousemove:e=>v.value=n},[w(`span`,ap,s(e.label),1),e.hint?(y(),T(`span`,op,s(e.hint),1)):k(``,!0)],42,ip))),128)),t(D).length===0?(y(),T(`div`,sp,s(e.$t(`commandPalette.ktup4q4002`)),1)):k(``,!0)]),w(`div`,cp,[n[3]||=w(`kbd`,null,`↑↓`,-1),I(` `+s(e.$t(`commandPalette.k1kvl0fa003`))+` `,1),n[4]||=w(`kbd`,null,`↵`,-1),I(` `+s(e.$t(`commandPalette.k1e3ualj004`))+` `,1),n[5]||=w(`kbd`,null,`esc`,-1),I(` `+s(e.$t(`commandPalette.k3x62t005`)),1)])])])):k(``,!0)]))}}),[[`__scopeId`,`data-v-4f838eaf`]]),{__name:`WorkshopCommandPalette`}),up=Object.assign(X(v({__name:`Dock`,props:O({wsId:{},channelId:{}},{view:{required:!0},viewModifiers:{},agentOpen:{type:Boolean,required:!0},agentOpenModifiers:{},agentId:{required:!0},agentIdModifiers:{},taskOpen:{type:Boolean,required:!0},taskOpenModifiers:{},taskId:{required:!0},taskIdModifiers:{},paletteOpen:{type:Boolean,required:!0},paletteOpenModifiers:{},a2aOpen:{type:Boolean,required:!0},a2aOpenModifiers:{}}),emits:[`update:view`,`update:agentOpen`,`update:agentId`,`update:taskOpen`,`update:taskId`,`update:paletteOpen`,`update:a2aOpen`],setup(e){let t=g(e,`view`),n=g(e,`agentOpen`),r=g(e,`agentId`),i=g(e,`taskOpen`),a=g(e,`taskId`),o=g(e,`paletteOpen`),s=g(e,`a2aOpen`),c=u(null),l=()=>{c.value?.querySelector(`textarea`)?.focus()};return(u,d)=>{let f=rf,p=Cf,m=Kf,h=$f,g=lp;return y(),T(`div`,{ref_key:`composerBox`,ref:c,class:`composer-pane`},[x(f,{"channel-id":e.channelId},null,8,[`channel-id`]),x(p,{open:n.value,"onUpdate:open":d[0]||=e=>n.value=e,"channel-id":e.channelId,"agent-id":r.value},null,8,[`open`,`channel-id`,`agent-id`]),x(m,{open:i.value,"onUpdate:open":d[1]||=e=>i.value=e,"channel-id":e.channelId,"task-id":a.value},null,8,[`open`,`channel-id`,`task-id`]),x(h,{open:s.value,"onUpdate:open":d[2]||=e=>s.value=e,"channel-id":e.channelId},null,8,[`open`,`channel-id`]),x(g,{open:o.value,"onUpdate:open":d[3]||=e=>o.value=e,"ws-id":e.wsId,onSetView:d[4]||=e=>t.value=e,onOpenA2aDebug:d[5]||=e=>s.value=!0,onCompose:l},null,8,[`open`,`ws-id`])],512)}}}),[[`__scopeId`,`data-v-d754c741`]]),{__name:`WorkshopConsoleDock`}),dp={class:`harness`},fp={class:`main`},pp=X(v({__name:`[wsId]`,setup(e){St({layout:`default`});let{isDesktop:n}=dt();Et();let{wsId:r,workspace:i,channelId:a,loaded:o,conn:s,stateColor:c,lastSeq:u}=Dt(),{narrowUI:d,leftOpen:f,rightOpen:p,leftWidth:m,rightWidth:h,resizeLeft:g,resizeRight:_,LEFT_W_DEFAULT:v,RIGHT_W_DEFAULT:b,view:S,viewOptions:C,onViewKey:E}=kt(n,a),{agentDrawerOpen:D,agentDrawerId:O,taskDrawerOpen:A,taskDrawerId:M,paletteOpen:N,a2aDebugOpen:P,openAgent:F,openAgentInChannel:I,openTask:L}=Ot(r);return W({title:()=>`${i.value?.name??`Workspace`} · AgentWorkShop`}),(e,n)=>{let R=mr,z=gr;return y(),T(`div`,dp,[x(R),x(Or,{view:t(S),"onUpdate:view":n[0]||=e=>l(S)?S.value=e:null,"left-open":t(f),"onUpdate:leftOpen":n[1]||=e=>l(f)?f.value=e:null,"right-open":t(p),"onUpdate:rightOpen":n[2]||=e=>l(p)?p.value=e:null,"ws-name":t(i)?.name,"channel-id":t(a),"view-options":t(C),narrow:t(d),"state-color":t(c),"conn-state":t(s).state,"last-seq":t(u),onViewKey:t(E),onOpenA2a:n[3]||=e=>P.value=!0,onOpenPalette:n[4]||=e=>N.value=!0},null,8,[`view`,`left-open`,`right-open`,`ws-name`,`channel-id`,`view-options`,`narrow`,`state-color`,`conn-state`,`last-seq`,`onViewKey`]),w(`div`,fp,[t(d)&&t(f)?(y(),T(`div`,{key:0,class:`drawer-scrim`,onClick:n[5]||=e=>f.value=!1})):k(``,!0),t(f)?(y(),j(zi,{key:1,"ws-id":t(r),"left-width":t(m),narrow:t(d),onOpenAgent:t(I)},null,8,[`ws-id`,`left-width`,`narrow`,`onOpenAgent`])):k(``,!0),t(f)&&!t(d)?(y(),j(z,{key:2,label:e.$t(`wsView.k1fkfvra005`),onResize:t(g),onReset:n[6]||=e=>m.value=t(v)},null,8,[`label`,`onResize`])):k(``,!0),x(Iu,{"ws-id":t(r),"channel-id":t(a),view:t(S),narrow:t(d),onOpenTask:t(L),onOpenAgent:t(F)},null,8,[`ws-id`,`channel-id`,`view`,`narrow`,`onOpenTask`,`onOpenAgent`]),t(p)&&!t(d)?(y(),j(z,{key:3,label:e.$t(`wsView.kwqb0st006`),onResize:t(_),onReset:n[7]||=e=>h.value=t(b)},null,8,[`label`,`onResize`])):k(``,!0),t(p)&&!t(d)?(y(),j(md,{key:4,"channel-id":t(a),"right-width":t(h),loaded:t(o),onOpenAgent:t(F),onOpenTask:t(L)},null,8,[`channel-id`,`right-width`,`loaded`,`onOpenAgent`,`onOpenTask`])):k(``,!0)]),t(a)?(y(),j(up,{key:0,view:t(S),"onUpdate:view":n[8]||=e=>l(S)?S.value=e:null,"agent-open":t(D),"onUpdate:agentOpen":n[9]||=e=>l(D)?D.value=e:null,"agent-id":t(O),"onUpdate:agentId":n[10]||=e=>l(O)?O.value=e:null,"task-open":t(A),"onUpdate:taskOpen":n[11]||=e=>l(A)?A.value=e:null,"task-id":t(M),"onUpdate:taskId":n[12]||=e=>l(M)?M.value=e:null,"palette-open":t(N),"onUpdate:paletteOpen":n[13]||=e=>l(N)?N.value=e:null,"a2a-open":t(P),"onUpdate:a2aOpen":n[14]||=e=>l(P)?P.value=e:null,"ws-id":t(r),"channel-id":t(a)},null,8,[`view`,`agent-open`,`agent-id`,`task-open`,`task-id`,`palette-open`,`a2a-open`,`ws-id`,`channel-id`])):k(``,!0)])}}}),[[`__scopeId`,`data-v-18e1cc65`]]);export{pp as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./DK3Fl9T5.js";import{v as t}from"./CavpkQb0.js";import{n}from"./Cnrmlixo.js";import{a as r}from"./wDPc4SSR.js";import{t as i}from"./JgheoP3e.js";import{t as a}from"./Z-Z6EhXs.js";var o=e({useAmlModels:()=>s});function s(e){let{t:o}=n(),s=t([]);async function c(){try{let e=await a(`/models`);s.value=e.models}catch{}}let l=t(``),u=t(``);async function d(t,n){let s=`${t.id}:${n}`;if(l.value!==s){l.value=s;return}l.value=``,u.value=s;try{let i=await a(`/models/${t.id}/promote`,{method:`POST`,body:JSON.stringify({toStage:n})});i.ok&&r.success(o(`aml.k1amlx132`,{p0:i.from??t.stage,p1:n})),await Promise.all([c(),e.reloadOverview()])}catch(e){r.error(i(e))}finally{u.value=``}}return{models:s,confirmPromote:l,promoting:u,loadModels:c,onPromote:d}}export{o as n,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e,N as t,O as n,S as r,_ as i,i as a,o,p as s,v as c}from"./CavpkQb0.js";import{C as l,R as u,d,et as f,j as p}from"./ByMj6e7s.js";function m(e){return o()?(s(e),!0):!1}var h=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var g=Object.prototype.toString,_=e=>g.call(e)===`[object Object]`,v=()=>{};function y(...t){if(t.length!==1)return e(...t);let n=t[0];return typeof n==`function`?i(a(()=>({get:n,set:v}))):c(n)}function b(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}var x=e=>e();function S(e=x,t={}){let{initialState:n=`active`}=t,r=y(n===`active`);function a(){r.value=!1}function o(){r.value=!0}return{isActive:i(r),pause:a,resume:o,eventFilter:(...t)=>{r.value&&e(...t)}}}function C(e){return Array.isArray(e)?e:[e]}function w(e){return e||l()}function T(e,t,n={}){let{eventFilter:r=x,...i}=n;return f(e,b(r,t),i)}function E(e,t,n={}){let{eventFilter:r,initialState:i=`active`,...a}=n,{eventFilter:o,pause:s,resume:c,isActive:l}=S(r,{initialState:i});return{stop:T(e,t,{...a,eventFilter:o}),pause:s,resume:c,isActive:l}}function D(e,t=!0,n){w(n)?u(e,n):t?e():p(e)}function O(e,t,n){return f(e,t,{...n,immediate:!0})}var k=h?window:void 0;h&&window.document,h&&window.navigator,h&&window.location;function A(e){let t=n(e);return t?.$el??t}function j(...e){let r=[],i=()=>{r.forEach(e=>e()),r.length=0},a=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),o=d(()=>{let t=C(n(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0}),s=O(()=>[o.value?.map(e=>A(e))??[k].filter(e=>e!=null),C(n(o.value?e[1]:e[0])),C(t(o.value?e[2]:e[1])),n(o.value?e[3]:e[2])],([e,t,n,o])=>{if(i(),!e?.length||!t?.length||!n?.length)return;let s=_(o)?{...o}:o;r.push(...e.flatMap(e=>t.flatMap(t=>n.map(n=>a(e,t,n,s)))))},{flush:`post`});return m(i),()=>{s(),i()}}var M=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},N=`__vueuse_ssr_handlers__`,P=F();function F(){return N in M||(M[N]=M[N]||{}),M[N]}function I(e,t){return P[e]||t}function L(e){return e==null?`any`:e instanceof Set?`set`:e instanceof Map?`map`:e instanceof Date?`date`:typeof e==`boolean`?`boolean`:typeof e==`string`?`string`:typeof e==`object`?`object`:Number.isNaN(e)?`any`:`number`}var R={boolean:{read:e=>e===`true`,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},z=`vueuse-storage`;function B(e,t,i,a={}){let{flush:o=`pre`,deep:s=!0,listenToStorageChanges:l=!0,writeDefaults:u=!0,mergeDefaults:m=!1,shallow:h,window:g=k,eventFilter:_,onError:v=e=>{console.error(e)},initOnMounted:y}=a,b=(h?r:c)(typeof t==`function`?t():t),x=d(()=>n(e));if(!i)try{i=I(`getDefaultStorage`,()=>k?.localStorage)()}catch(e){v(e)}if(!i)return b;let S=n(t),C=L(S),w=a.serializer??R[C],{pause:T,resume:O}=E(b,e=>N(e),{flush:o,deep:s,eventFilter:_});f(x,()=>F(),{flush:o});let A=!1;g&&l&&(i instanceof Storage?j(g,`storage`,e=>{y&&!A||F(e)},{passive:!0}):j(g,z,e=>{y&&!A||B(e)})),y?D(()=>{A=!0,F()}):F();function M(e,t){if(g){let n={key:x.value,oldValue:e,newValue:t,storageArea:i};g.dispatchEvent(i instanceof Storage?new StorageEvent(`storage`,n):new CustomEvent(z,{detail:n}))}}function N(e){try{let t=i.getItem(x.value);if(e==null)M(t,null),i.removeItem(x.value);else{let n=w.write(e);t!==n&&(i.setItem(x.value,n),M(t,n))}}catch(e){v(e)}}function P(e){let t=e?e.newValue:i.getItem(x.value);if(t==null)return u&&S!=null&&i.setItem(x.value,w.write(S)),S;if(!e&&m){let e=w.read(t);return typeof m==`function`?m(e,S):C===`object`&&!Array.isArray(e)?{...S,...e}:e}return typeof t==`string`?w.read(t):t}function F(e){if(!(e&&e.storageArea!==i)){if(e&&e.key==null){b.value=S;return}if(!(e&&e.key!==x.value)){T();try{let t=w.write(b.value);(e===void 0||e?.newValue!==t)&&(b.value=P(e))}catch(e){v(e)}finally{e?p(O):O()}}}}function B(e){F(e.detail)}return b}export{B as t};
|