agentworkshop 0.8.3 → 0.8.5
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.en.json +174 -0
- package/.AgentWorkShop/prompts/host-tools.json +6 -2
- package/.output/.AgentWorkShop/aml-python/__pycache__/aml_eval.cpython-312.pyc +0 -0
- package/.output/.AgentWorkShop/aml-python/__pycache__/amlkit.cpython-312.pyc +0 -0
- package/.output/.AgentWorkShop/aml-python/__pycache__/train-example.cpython-312.pyc +0 -0
- package/.output/.AgentWorkShop/aml-python/__pycache__/train-hybrid-example.cpython-312.pyc +0 -0
- package/.output/.AgentWorkShop/aml-python/train-example.py +92 -92
- package/.output/.AgentWorkShop/prompts/host-tools.en.json +174 -0
- package/.output/.AgentWorkShop/prompts/host-tools.json +6 -2
- package/.output/.AgentWorkShop/schema.json +2 -0
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/-gwj-zlk2.js +1 -0
- package/.output/public/_nuxt/-gy9k_TE2.js +1 -0
- package/.output/public/_nuxt/26OL4Ao82.js +1 -0
- package/.output/public/_nuxt/6P4ZAzxa2.js +1 -0
- package/.output/public/_nuxt/7OZQiw002.js +1 -0
- package/.output/public/_nuxt/8b9CKi6F.js +1 -0
- package/.output/public/_nuxt/AQuNRC4D.js +36 -0
- package/.output/public/_nuxt/Aoz9xMB92.js +1 -0
- package/.output/public/_nuxt/B0UUODeh.js +1 -0
- package/.output/public/_nuxt/B4GOTVfN.js +1 -0
- package/.output/public/_nuxt/BBhroEeN.js +1 -0
- package/.output/public/_nuxt/BHxG41IQ2.js +1 -0
- package/.output/public/_nuxt/BPUQZ9Lq2.js +8 -0
- package/.output/public/_nuxt/BSxcHoiy.js +1 -0
- package/.output/public/_nuxt/BVg2R2VB2.js +1 -0
- package/.output/public/_nuxt/BY2u4LPg.js +1 -0
- package/.output/public/_nuxt/BZg_MIK42.js +1 -0
- package/.output/public/_nuxt/BaYDgyaR.js +3 -0
- package/.output/public/_nuxt/BfvuWqSa.js +1 -0
- package/.output/public/_nuxt/BkEokGX5.js +1 -0
- package/.output/public/_nuxt/BkO5WdX5.js +1 -0
- package/.output/public/_nuxt/BqBTlfiz.js +1 -0
- package/.output/public/_nuxt/Br_q4qi72.js +1 -0
- package/.output/public/_nuxt/BtZKe9ZV2.js +1 -0
- package/.output/public/_nuxt/BwOko01T.js +47 -0
- package/.output/public/_nuxt/BzBBEE-o2.js +1 -0
- package/.output/public/_nuxt/C0Db9tR_2.js +1 -0
- package/.output/public/_nuxt/C3vxePED.js +21 -0
- package/.output/public/_nuxt/C4tXwpSt.js +1 -0
- package/.output/public/_nuxt/CBkXv24C2.js +1 -0
- package/.output/public/_nuxt/CCI-fwcS2.js +1 -0
- package/.output/public/_nuxt/CGf9neEK2.js +1 -0
- package/.output/public/_nuxt/CGviZq4E.js +1 -0
- package/.output/public/_nuxt/CNRjkgAZ2.js +1 -0
- package/.output/public/_nuxt/CNrRZmSx2.js +1 -0
- package/.output/public/_nuxt/CQ31GiJU2.js +1 -0
- package/.output/public/_nuxt/CY_7u1ST2.js +2 -0
- package/.output/public/_nuxt/CZJ5cw6r2.js +1 -0
- package/.output/public/_nuxt/ChF6qLpY2.js +1 -0
- package/.output/public/_nuxt/CjdxNYpU2.js +1 -0
- package/.output/public/_nuxt/CmuGMxDP.js +1 -0
- package/.output/public/_nuxt/Co8Dcx132.js +1 -0
- package/.output/public/_nuxt/Cr2xJ_CY.js +1 -0
- package/.output/public/_nuxt/Cy_HDgSl.js +20 -0
- package/.output/public/_nuxt/D1thFC3z.js +1 -0
- package/.output/public/_nuxt/D8AvmPUH.js +1 -0
- package/.output/public/_nuxt/D9GoOkyP2.js +1 -0
- package/.output/public/_nuxt/D9ppMCbw.js +1 -0
- package/.output/public/_nuxt/DGmFHb7m.js +1 -0
- package/.output/public/_nuxt/DH_oqyfL.js +1 -0
- package/.output/public/_nuxt/DJaGVY4v2.js +1 -0
- package/.output/public/_nuxt/DOUuGOQR2.js +2 -0
- package/.output/public/_nuxt/DYQBIsiV2.js +1 -0
- package/.output/public/_nuxt/DZqVVvR0.js +1 -0
- package/.output/public/_nuxt/DZzbCFY2.js +1 -0
- package/.output/public/_nuxt/DmReUFK1.js +1 -0
- package/.output/public/_nuxt/DnuJ66Jy.js +1 -0
- package/.output/public/_nuxt/DuUc4bbY2.js +1 -0
- package/.output/public/_nuxt/EJkmXP432.js +1 -0
- package/.output/public/_nuxt/OmpTerminalPanel.ComMDrA8.css +1 -0
- package/.output/public/_nuxt/PbzVdCTA2.js +1 -0
- package/.output/public/_nuxt/PluginSlot.CGH0vb95.css +1 -0
- package/.output/public/_nuxt/SgsmmrsZ.js +1 -0
- package/.output/public/_nuxt/TownView.CC3t-Dte.css +1 -0
- package/.output/public/_nuxt/U_n8pryv2.js +1 -0
- package/.output/public/_nuxt/Ud9o8ItR2.js +1 -0
- package/.output/public/_nuxt/W0sNnJQh.js +1 -0
- package/.output/public/_nuxt/_id_.BQRWK7J2.css +1 -0
- package/.output/public/_nuxt/_wsId_.CQMH8t8j.css +1 -0
- package/.output/public/_nuxt/ae2-5ZPt.js +1 -0
- package/.output/public/_nuxt/agents.D-JPovTZ.css +1 -0
- package/.output/public/_nuxt/aml.PalMp-5n.css +1 -0
- package/.output/public/_nuxt/board.BxLE52BL.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/5cd11284-05bf-4fcd-9a69-56a01c9f56dd.json +1 -0
- package/.output/public/_nuxt/byZYInPk2.js +1 -0
- package/.output/public/_nuxt/dHwWyr6b.js +1 -0
- package/.output/public/_nuxt/default.BEXGWZFQ.css +1 -0
- package/.output/public/_nuxt/entry.D6nBdXet.css +1 -0
- package/.output/public/_nuxt/fIV9zbnA.js +1 -0
- package/.output/public/_nuxt/gUYi1hLJ2.js +16 -0
- package/.output/public/_nuxt/iqxZGXsY.js +1 -0
- package/.output/public/_nuxt/logs.BkJPbR_K.css +1 -0
- package/.output/public/_nuxt/m6G-kfdj.js +1 -0
- package/.output/public/_nuxt/monitor.D3yEqqrv.css +1 -0
- package/.output/public/_nuxt/ontology.CkuUThtY.css +1 -0
- package/.output/public/_nuxt/operations.-l6u44Ar.css +1 -0
- package/.output/public/_nuxt/pages.Cdpm_B-G.css +1 -0
- package/.output/public/_nuxt/permissions.DxuOOIqQ.css +1 -0
- package/.output/public/_nuxt/pipeline.D7et0DoJ.css +1 -0
- package/.output/public/_nuxt/rDvMijKA.js +9 -0
- package/.output/public/_nuxt/schedules.BXNJ9q_I.css +1 -0
- package/.output/public/_nuxt/studio.ClA5gX4K.css +1 -0
- package/.output/public/_nuxt/tDEwr422.js +1 -0
- package/.output/public/_nuxt/teams.CLQaXno5.css +1 -0
- package/.output/public/_nuxt/tokens.BDSUWF-L.css +1 -0
- package/.output/public/_nuxt/tools.BwXFAb-X.css +1 -0
- package/.output/public/_nuxt/workshop.BBiFhXuM.css +1 -0
- package/.output/public/_nuxt/yS3bF3G32.js +2 -0
- package/.output/public/_nuxt/zWZ26UWi.js +1 -0
- package/.output/public/favicon.svg +14 -14
- package/.output/public/robots.txt +3 -3
- package/.output/server/chunks/_/LeftOutlined.mjs.map +1 -1
- package/.output/server/chunks/_/RightOutlined.mjs.map +1 -1
- package/.output/server/chunks/_/SearchOutlined.mjs +1261 -1230
- package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -1
- package/.output/server/chunks/_/access.mjs +15 -27
- package/.output/server/chunks/_/access.mjs.map +1 -1
- package/.output/server/chunks/_/catalog-view.mjs +1 -1
- package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
- package/.output/server/chunks/_/chart-repo.mjs +15 -2
- package/.output/server/chunks/_/chart-repo.mjs.map +1 -1
- package/.output/server/chunks/_/data-export.mjs +8 -9
- package/.output/server/chunks/_/data-export.mjs.map +1 -1
- package/.output/server/chunks/_/data-query.mjs +4 -4
- package/.output/server/chunks/_/data-query.mjs.map +1 -1
- package/.output/server/chunks/_/eda-db.mjs +12 -0
- package/.output/server/chunks/_/eda-db.mjs.map +1 -1
- package/.output/server/chunks/_/eda-run.repo.mjs +3 -3
- package/.output/server/chunks/_/error-500.mjs.map +1 -1
- package/.output/server/chunks/_/features.mjs +6 -6
- package/.output/server/chunks/_/golden.mjs +3 -3
- package/.output/server/chunks/_/host-bindings.mjs +2 -2
- package/.output/server/chunks/_/index.mjs +2 -2
- package/.output/server/chunks/_/mes-console.mjs +1 -1
- package/.output/server/chunks/_/mes-secrets.repo.mjs +107 -0
- package/.output/server/chunks/_/mes-secrets.repo.mjs.map +1 -0
- package/.output/server/chunks/_/nitro.mjs +5404 -3844
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/ocap.mjs +1 -1
- package/.output/server/chunks/_/rest-auth.mjs +1 -1
- package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
- package/.output/server/chunks/_/spc.mjs +2 -2
- package/.output/server/chunks/_/template-repo.mjs +97 -0
- package/.output/server/chunks/_/template-repo.mjs.map +1 -0
- package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs +716 -0
- package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs.map +1 -0
- package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs +72 -0
- package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs.map +1 -0
- package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs +942 -0
- package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs.map +1 -0
- package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs +141 -0
- package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs.map +1 -0
- package/.output/server/chunks/build/TownView-BWMDbosY.mjs +6489 -0
- package/.output/server/chunks/build/TownView-BWMDbosY.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-BK-t8nRG.mjs +392 -0
- package/.output/server/chunks/build/_id_-BK-t8nRG.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-CZPlPDm4.mjs +2045 -0
- package/.output/server/chunks/build/_id_-CZPlPDm4.mjs.map +1 -0
- package/.output/server/chunks/build/_wsId_-C871SDPN.mjs +14589 -0
- package/.output/server/chunks/build/_wsId_-C871SDPN.mjs.map +1 -0
- package/.output/server/chunks/build/agents-D7CdEUTv.mjs +1078 -0
- package/.output/server/chunks/build/agents-D7CdEUTv.mjs.map +1 -0
- package/.output/server/chunks/build/alert-D0ivtTGy.mjs +263 -0
- package/.output/server/chunks/build/alert-D0ivtTGy.mjs.map +1 -0
- package/.output/server/chunks/build/aml-DRAFRcGU.mjs +814 -0
- package/.output/server/chunks/build/aml-DRAFRcGU.mjs.map +1 -0
- package/.output/server/chunks/build/analysis-p-dBkjoK.mjs +533 -0
- package/.output/server/chunks/build/analysis-p-dBkjoK.mjs.map +1 -0
- package/.output/server/chunks/build/api-B4Om0mEc.mjs +53 -0
- package/.output/server/chunks/build/api-B4Om0mEc.mjs.map +1 -0
- package/.output/server/chunks/build/api-BEW_ebY_.mjs +64 -0
- package/.output/server/chunks/build/api-BEW_ebY_.mjs.map +1 -0
- package/.output/server/chunks/build/api-BsAgXWxi.mjs +72 -0
- package/.output/server/chunks/build/api-BsAgXWxi.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-BvXtNzC8.mjs +81 -0
- package/.output/server/chunks/build/apiClient-BvXtNzC8.mjs.map +1 -0
- package/.output/server/chunks/build/board-CJUc032b.mjs +189 -0
- package/.output/server/chunks/build/board-CJUc032b.mjs.map +1 -0
- package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs +94 -81
- package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs.map +1 -1
- package/.output/server/chunks/build/card-Cqk0Ur-L.mjs +953 -0
- package/.output/server/chunks/build/card-Cqk0Ur-L.mjs.map +1 -0
- package/.output/server/chunks/build/channel-templates-ggsBacZF.mjs +942 -0
- package/.output/server/chunks/build/channel-templates-ggsBacZF.mjs.map +1 -0
- package/.output/server/chunks/build/chart-pipeline-BpoWYMK_.mjs +233 -0
- package/.output/server/chunks/build/chart-pipeline-BpoWYMK_.mjs.map +1 -0
- package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs +112 -113
- package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs.map +1 -1
- package/.output/server/chunks/build/checkbox-CrT4cnfu.mjs +439 -0
- package/.output/server/chunks/build/checkbox-CrT4cnfu.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 +76 -66
- package/.output/server/chunks/build/constants-HPHJvjne.mjs.map +1 -1
- 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-CdxcfY_G.mjs +1266 -0
- package/.output/server/chunks/build/daq-CdxcfY_G.mjs.map +1 -0
- package/.output/server/chunks/build/data-D8uX1dnm.mjs +481 -0
- package/.output/server/chunks/build/data-D8uX1dnm.mjs.map +1 -0
- package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +505 -0
- package/.output/server/chunks/build/dcw-BlDQtS4q.mjs.map +1 -0
- package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs +15 -3
- package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs.map +1 -1
- package/.output/server/chunks/build/default-CNWS6NUw.mjs +2353 -0
- package/.output/server/chunks/build/default-CNWS6NUw.mjs.map +1 -0
- package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs +406 -0
- package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs.map +1 -0
- package/.output/server/chunks/build/drawer-Caji0PLs.mjs +834 -0
- package/.output/server/chunks/build/drawer-Caji0PLs.mjs.map +1 -0
- package/.output/server/chunks/build/dropdown-BNwTVGde.mjs +14 -0
- package/.output/server/chunks/build/dropdown-BNwTVGde.mjs.map +1 -0
- package/.output/server/chunks/build/dropdown-Cd-xPhR6.mjs +540 -0
- package/.output/server/chunks/build/dropdown-Cd-xPhR6.mjs.map +1 -0
- package/.output/server/chunks/build/es-Bxu10NJ2.mjs +43 -0
- package/.output/server/chunks/build/es-Bxu10NJ2.mjs.map +1 -0
- package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs +2448 -0
- package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs.map +1 -0
- package/.output/server/chunks/build/form-D_UpWPN4.mjs +4712 -0
- package/.output/server/chunks/build/form-D_UpWPN4.mjs.map +1 -0
- package/.output/server/chunks/build/hasIn-DBdElbjM.mjs +553 -0
- package/.output/server/chunks/build/hasIn-DBdElbjM.mjs.map +1 -0
- package/.output/server/chunks/build/hitl-Bd30yr1J.mjs +132 -0
- package/.output/server/chunks/build/hitl-Bd30yr1J.mjs.map +1 -0
- package/.output/server/chunks/build/input-GtPuSEgt.mjs +2181 -0
- package/.output/server/chunks/build/input-GtPuSEgt.mjs.map +1 -0
- package/.output/server/chunks/build/input-number-BNlNDK7H.mjs +1120 -0
- package/.output/server/chunks/build/input-number-BNlNDK7H.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/isNumeric-CP7q_yhz.mjs +7 -0
- package/.output/server/chunks/build/isNumeric-CP7q_yhz.mjs.map +1 -0
- package/.output/server/chunks/build/logs-pRb-TMWa.mjs +427 -0
- package/.output/server/chunks/build/logs-pRb-TMWa.mjs.map +1 -0
- package/.output/server/chunks/build/menu-BXt-X0dt.mjs +1952 -0
- package/.output/server/chunks/build/menu-BXt-X0dt.mjs.map +1 -0
- package/.output/server/chunks/build/monitor-Cq6hRFeQ.mjs +2253 -0
- package/.output/server/chunks/build/monitor-Cq6hRFeQ.mjs.map +1 -0
- package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs +2 -0
- package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs.map +1 -1
- package/.output/server/chunks/build/ontology-ohICfVVb.mjs +1406 -0
- package/.output/server/chunks/build/ontology-ohICfVVb.mjs.map +1 -0
- package/.output/server/chunks/build/operations-SMQrRAcr.mjs +311 -0
- package/.output/server/chunks/build/operations-SMQrRAcr.mjs.map +1 -0
- package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs +202 -0
- package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs.map +1 -0
- package/.output/server/chunks/build/pages-DsMKUw7i.mjs +542 -0
- package/.output/server/chunks/build/pages-DsMKUw7i.mjs.map +1 -0
- package/.output/server/chunks/build/pagination-DTAconUo.mjs +1346 -0
- package/.output/server/chunks/build/pagination-DTAconUo.mjs.map +1 -0
- package/.output/server/chunks/build/permissions-DgXQZSyx.mjs +637 -0
- package/.output/server/chunks/build/permissions-DgXQZSyx.mjs.map +1 -0
- package/.output/server/chunks/build/pipeline-CkavMBhk.mjs +212 -0
- package/.output/server/chunks/build/pipeline-CkavMBhk.mjs.map +1 -0
- package/.output/server/chunks/build/plugins-LRjaSEZy.mjs +272 -0
- package/.output/server/chunks/build/plugins-LRjaSEZy.mjs.map +1 -0
- package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs +340 -0
- package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs.map +1 -0
- package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs +78 -0
- package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs.map +1 -0
- package/.output/server/chunks/build/schedules-Hz2DJUE2.mjs +7172 -0
- package/.output/server/chunks/build/schedules-Hz2DJUE2.mjs.map +1 -0
- package/.output/server/chunks/build/segmented-D3HWtHPw.mjs +341 -0
- package/.output/server/chunks/build/segmented-D3HWtHPw.mjs.map +1 -0
- package/.output/server/chunks/build/select-B3Dsb9yq.mjs +3923 -0
- package/.output/server/chunks/build/select-B3Dsb9yq.mjs.map +1 -0
- package/.output/server/chunks/build/settings-DXLJPq7d.mjs +1014 -0
- package/.output/server/chunks/build/settings-DXLJPq7d.mjs.map +1 -0
- package/.output/server/chunks/build/space-Dwu2Skt8.mjs +110 -0
- package/.output/server/chunks/build/space-Dwu2Skt8.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/studio-hSqH9TYS.mjs +336 -0
- package/.output/server/chunks/build/studio-hSqH9TYS.mjs.map +1 -0
- package/.output/server/chunks/build/switch-CyR-H6Fb.mjs +377 -0
- package/.output/server/chunks/build/switch-CyR-H6Fb.mjs.map +1 -0
- package/.output/server/chunks/build/table-CmVD-cA9.mjs +7546 -0
- package/.output/server/chunks/build/table-CmVD-cA9.mjs.map +1 -0
- package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs +1924 -0
- package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs.map +1 -0
- package/.output/server/chunks/build/tag-y0sn-xv9.mjs +1156 -0
- package/.output/server/chunks/build/tag-y0sn-xv9.mjs.map +1 -0
- package/.output/server/chunks/build/teams-BbwYJyzv.mjs +1203 -0
- package/.output/server/chunks/build/teams-BbwYJyzv.mjs.map +1 -0
- package/.output/server/chunks/build/tokens-GYaGJ35Z.mjs +1062 -0
- package/.output/server/chunks/build/tokens-GYaGJ35Z.mjs.map +1 -0
- package/.output/server/chunks/build/tools-CnYi9cou.mjs +487 -0
- package/.output/server/chunks/build/tools-CnYi9cou.mjs.map +1 -0
- package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs +920 -0
- package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs.map +1 -0
- package/.output/server/chunks/build/town-B5aoiG98.mjs +133 -0
- package/.output/server/chunks/build/town-B5aoiG98.mjs.map +1 -0
- package/.output/server/chunks/build/town-BV-hbwb5.mjs +30 -17
- package/.output/server/chunks/build/town-BV-hbwb5.mjs.map +1 -1
- package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
- package/.output/server/chunks/build/types-D6J7slEa.mjs.map +1 -1
- package/.output/server/chunks/build/types-DWqIeMRP.mjs +30 -29
- package/.output/server/chunks/build/types-DWqIeMRP.mjs.map +1 -1
- package/.output/server/chunks/build/useAgentHarnessOptions-Dq0l0Z6d.mjs +124 -0
- package/.output/server/chunks/build/useAgentHarnessOptions-Dq0l0Z6d.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplateActions-BFOHb5-L.mjs +77 -0
- package/.output/server/chunks/build/useAgentTemplateActions-BFOHb5-L.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs +24 -17
- package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs.map +1 -1
- package/.output/server/chunks/build/useAgentTemplateForm-CuJPOPcK.mjs +117 -0
- package/.output/server/chunks/build/useAgentTemplateForm-CuJPOPcK.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplatesCatalog-B2bIhZLA.mjs +133 -0
- package/.output/server/chunks/build/useAgentTemplatesCatalog-B2bIhZLA.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs +92 -0
- package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs +86 -0
- package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs +194 -0
- package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs +89 -0
- package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs +38 -33
- package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs +267 -0
- package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs +93 -0
- package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs +86 -0
- package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs +130 -0
- package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs.map +1 -0
- package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs +129 -0
- package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +142 -0
- package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs +70 -0
- package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs +79 -0
- package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs +176 -0
- package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +99 -0
- package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +159 -0
- package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +222 -0
- package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs +45 -44
- package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs +136 -0
- package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +395 -0
- package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +187 -0
- package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs.map +1 -0
- package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs +311 -313
- package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs.map +1 -1
- package/.output/server/chunks/build/useDashboardData-NJ7rKxhx.mjs +153 -0
- package/.output/server/chunks/build/useDashboardData-NJ7rKxhx.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +219 -0
- package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs +67 -0
- package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs +184 -0
- package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs +148 -0
- package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs +71 -0
- package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs +79 -0
- package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs +137 -0
- package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs +104 -0
- package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs +121 -0
- package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs +93 -0
- package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs +98 -0
- package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs +88 -0
- package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs +258 -0
- package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +452 -0
- package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs +91 -0
- package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs +140 -0
- package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs.map +1 -0
- package/.output/server/chunks/build/useDeviceTwins-BqwVJaZg.mjs +128 -0
- package/.output/server/chunks/build/useDeviceTwins-BqwVJaZg.mjs.map +1 -0
- package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs +107 -0
- package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs.map +1 -0
- package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs +55 -0
- package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs +34 -31
- package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs.map +1 -1
- package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs +88 -0
- package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs +150 -0
- package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs +83 -0
- package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs +167 -156
- package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs.map +1 -1
- package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs +135 -0
- package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs +91 -0
- package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs +28 -21
- package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs.map +1 -1
- package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs +195 -0
- package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs.map +1 -0
- package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs +149 -0
- package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs.map +1 -0
- package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs +156 -0
- package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs.map +1 -0
- package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs +39 -23
- package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamActions-BDjU06LP.mjs +79 -0
- package/.output/server/chunks/build/useTeamActions-BDjU06LP.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamAddMemberDialog-J3oFn3FI.mjs +84 -0
- package/.output/server/chunks/build/useTeamAddMemberDialog-J3oFn3FI.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamCreateDialog-fbn4ixYu.mjs +97 -0
- package/.output/server/chunks/build/useTeamCreateDialog-fbn4ixYu.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamDeployDialog-BNezMD2k.mjs +80 -0
- package/.output/server/chunks/build/useTeamDeployDialog-BNezMD2k.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs +39 -32
- package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamPluginDialog-BZznrOVe.mjs +103 -0
- package/.output/server/chunks/build/useTeamPluginDialog-BZznrOVe.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamsCatalog-DuZFP3oG.mjs +123 -0
- package/.output/server/chunks/build/useTeamsCatalog-DuZFP3oG.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs +29 -22
- package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs.map +1 -1
- package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs +115 -0
- package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs +87 -0
- package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs +118 -0
- package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs.map +1 -0
- package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs +92 -0
- package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs.map +1 -0
- package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs +17 -16
- package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs +141 -0
- package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs +138 -0
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopApi-BxHn-4iR.mjs +127 -0
- package/.output/server/chunks/build/useWorkshopApi-BxHn-4iR.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs +1659 -0
- package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs +60 -0
- package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs +92 -0
- package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs +34 -31
- package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs +168 -0
- package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs.map +1 -0
- package/.output/server/chunks/build/users-DjiVC_tS.mjs +569 -0
- package/.output/server/chunks/build/users-DjiVC_tS.mjs.map +1 -0
- package/.output/server/chunks/build/workshop-1gKeDASV.mjs +546 -0
- package/.output/server/chunks/build/workshop-1gKeDASV.mjs.map +1 -0
- package/.output/server/chunks/build/workspaces-CmW0cpOt.mjs +121 -111
- package/.output/server/chunks/build/workspaces-CmW0cpOt.mjs.map +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/mcp/workshop.mjs +2 -2
- package/.output/server/chunks/routes/api/metrics.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/i18n.get.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/backup/list.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/backup/run.post.mjs +3 -3
- package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/system/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/system/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
- package/.output/server/chunks/routes/api/system/timezone.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/users/change-password.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/rotate-token.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/execution-mode.patch.mjs +92 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/execution-mode.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +8 -8
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +3 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs +6 -3
- package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs.map +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/export-file.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index2.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/query.get.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +5 -5
- package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.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 +8 -5
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +9 -5
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +7 -4
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -1
- 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/eda/charts/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/features/jobs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/golden/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/golden/deviation.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/golden/single.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index5.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index7.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index8.get.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/eda/index8.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index8.post.mjs +41 -0
- package/.output/server/chunks/routes/api/workshop/eda/index8.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id/recompute.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.delete.mjs +36 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.get.mjs +37 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.patch.mjs +42 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +2 -2
- 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 +2 -2
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index10.post.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/index10.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index12.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index13.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index14.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index15.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index16.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs +46 -47
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +47 -24
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +11 -10
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +23 -20
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +19 -43
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index7.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs +44 -18
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs +14 -16
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.post.mjs +19 -5
- package/.output/server/chunks/routes/api/workshop/index9.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/mes/index.get.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/mes/index.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/mes/index.put.mjs +56 -0
- package/.output/server/chunks/routes/api/workshop/mes/index.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/mes/points.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mes/secrets/_ref_.delete.mjs +49 -0
- package/.output/server/chunks/routes/api/workshop/mes/secrets/_ref_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/autofix.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/compile.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/evidence.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/publish.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval-decision.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/transition.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/subgraph.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/validate.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId_.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/export/_ontologyId_.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/index.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/scene.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/traces/_ontologyId_.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId/compare.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId_.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/optimization/bindings/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/optimization/index.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs +2 -2
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/process-model/index.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/reopen.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
- 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 +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/routes/renderer.mjs.map +1 -1
- package/.output/server/chunks/virtual/entry.mjs +10869 -9372
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs.map +1 -1
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +21 -8
- package/README.md +21 -8
- package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.json +1 -0
- package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/1459e6269990a5d229b9228c8b2f62ffaa7d350068380ae8b875fee0db45cca6.source +180 -0
- package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/c2991e909c70c5c12b90a407c7adcf63384c51668a2b334e6e047fa675c268fe.source +305 -0
- package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/e09129039d1e27e3fac24becc9bdafd2d1a7c8049bff24173df007be865f0165.source +264 -0
- package/app/.mimosa/hook-status/sess_05189059-e42d-4188-8911-4f7baabe009b-28ef7c75ea.json +14 -0
- package/app/components/AwChart.vue +46 -3
- package/app/components/AwLogo.vue +75 -75
- package/app/components/aml/AmlDatasetFormModal.vue +279 -279
- package/app/components/aml/AmlDatasetTable.vue +319 -319
- package/app/components/aml/AmlExperimentsTable.vue +142 -142
- package/app/components/aml/AmlInfraBanner.vue +23 -23
- package/app/components/aml/AmlJobsTable.vue +248 -248
- package/app/components/aml/AmlOverviewBar.vue +62 -62
- package/app/components/aml/AmlPageHeader.vue +47 -47
- package/app/components/aml/AmlPredictConsole.vue +201 -201
- package/app/components/app-header/HitlBell.vue +423 -423
- package/app/components/daq/DaqAddNodeModal.vue +209 -209
- package/app/components/daq/DaqAlarmBar.vue +46 -46
- package/app/components/daq/DaqControlCard.vue +159 -159
- package/app/components/daq/DaqInfraBanner.vue +31 -31
- package/app/components/daq/DaqLineBanner.vue +47 -47
- package/app/components/daq/DaqNodePanel.vue +396 -396
- package/app/components/daq/DaqOptPanel.vue +197 -197
- package/app/components/daq/DaqTemplateModal.vue +246 -246
- package/app/components/dashboard/DashboardGaugeBand.vue +78 -78
- package/app/components/dashboard/DashboardHero.vue +209 -209
- package/app/components/dashboard/DashboardLineStatePanel.vue +78 -78
- package/app/components/dashboard/DashboardNodeStatePanel.vue +46 -46
- package/app/components/dashboard/DashboardPipelinePanel.vue +46 -46
- package/app/components/dashboard/DashboardTrendPanel.vue +83 -83
- package/app/components/dashboard/DashboardWritePanel.vue +52 -52
- package/app/components/dcw/DcwCreateLineModal.vue +105 -105
- package/app/components/dcw/DcwDeleteLineModal.vue +73 -73
- package/app/components/dcw/DcwDetailTemplateModal.vue +238 -238
- package/app/components/dcw/DcwLedgerCard.vue +160 -160
- package/app/components/dcw/DcwMesArtifacts.vue +140 -140
- package/app/components/dcw/DcwProductCreateModal.vue +113 -113
- package/app/components/dcw/DcwRecipeDispatchHistoryModal.vue +244 -244
- package/app/components/dcw/DcwRecipeEditModal.vue +399 -399
- package/app/components/dcw/DcwRecipeHistoryModal.vue +165 -165
- package/app/components/dcw/DcwRunDataModal.vue +191 -191
- package/app/components/dcw/DcwTemplateModal.vue +227 -227
- package/app/components/dcw/DcwWriteHistoryCard.vue +96 -96
- package/app/components/dcw/ExpConfirmCard.vue +103 -103
- package/app/components/dcw/RecipeDispatchApprovalCard.vue +330 -330
- package/app/components/logs/LogsPageHead.vue +71 -71
- package/app/components/monitor/MonitorAgentTable.vue +143 -143
- package/app/components/monitor/MonitorChannelTable.vue +80 -80
- package/app/components/monitor/MonitorLoginGate.vue +24 -24
- package/app/components/monitor/MonitorPageHead.vue +92 -92
- package/app/components/monitor/MonitorProcessTable.vue +159 -159
- package/app/components/ontology/OntologyGraph.vue +356 -356
- package/app/components/operations/OperationsFilterCard.vue +164 -164
- package/app/components/operations/OperationsPageHead.vue +47 -47
- package/app/components/tokens/TokenCreateModal.vue +42 -42
- package/app/components/tokens/TokenOnceModal.vue +164 -164
- package/app/components/tokens/TokenRenameModal.vue +40 -40
- package/app/components/tokens/TokensPageHead.vue +76 -76
- package/app/components/workshop/A2aRpcDebugger.vue +237 -237
- package/app/components/workshop/AgentInspectorDrawer.vue +424 -424
- package/app/components/workshop/AgentLanesView.vue +278 -278
- package/app/components/workshop/ArtifactCard.vue +120 -120
- package/app/components/workshop/AssetLibrary.vue +452 -452
- package/app/components/workshop/ChatMemberPanel.vue +556 -556
- package/app/components/workshop/CommandPalette.vue +270 -270
- package/app/components/workshop/Composer.vue +540 -540
- package/app/components/workshop/DaqTemplateIcon.vue +33 -33
- package/app/components/workshop/DeviceTwinPanel.vue +167 -167
- package/app/components/workshop/FileSelectorModal.vue +188 -188
- package/app/components/workshop/InspectorPanel.vue +301 -301
- package/app/components/workshop/PluginSlot.vue +120 -120
- package/app/components/workshop/TranscriptTimeline.vue +223 -223
- package/app/components/workshop/agents/AgentTemplateEditModal.vue +139 -139
- package/app/components/workshop/blocks/ClusterArtifact.vue +61 -61
- package/app/components/workshop/blocks/ClusterError.vue +85 -85
- package/app/components/workshop/blocks/ClusterLife.vue +87 -87
- package/app/components/workshop/blocks/ClusterMember.vue +95 -95
- package/app/components/workshop/blocks/ClusterMemory.vue +84 -84
- package/app/components/workshop/blocks/ClusterOther.vue +67 -67
- package/app/components/workshop/blocks/ClusterStatus.vue +149 -149
- package/app/components/workshop/blocks/ClusterTool.vue +176 -176
- package/app/components/workshop/blocks/EventBlockAvatar.vue +114 -114
- package/app/components/workshop/blocks/EventBlockHead.vue +232 -232
- package/app/components/workshop/composer/ComposerToolbar.vue +278 -278
- package/app/components/workshop/composer/MentionMenu.vue +135 -135
- package/app/components/workshop/composer/ReplyChip.vue +65 -65
- package/app/components/workshop/composer/StatusChip.vue +171 -171
- package/app/components/workshop/console/Dock.vue +71 -71
- package/app/components/workshop/console/LeftPane.vue +84 -84
- package/app/components/workshop/device-twin/DeviceTwinCard.vue +265 -265
- package/app/components/workshop/device-twin/DeviceTwinDcwSection.vue +203 -203
- package/app/components/workshop/lanes/AddMemberModal.vue +270 -270
- package/app/components/workshop/lanes/EditMemberModal.vue +106 -106
- package/app/components/workshop/lanes/LanesToolbar.vue +97 -97
- package/app/components/workshop/session-list/ChannelSettingsModal.vue +112 -1
- package/app/components/workshop/session-list/MountChannelModal.vue +124 -124
- package/app/components/workshop/session-list/SaveTemplateModal.vue +93 -93
- package/app/components/workshop/task-board/Card.vue +172 -172
- package/app/components/workshop/task-board/Column.vue +151 -151
- package/app/components/workshop/task-board/List.vue +157 -157
- package/app/components/workshop/task-board/StatusMenu.vue +88 -88
- package/app/components/workshop/teams/TeamAddMemberModal.vue +53 -53
- package/app/components/workshop/teams/TeamCreateModal.vue +94 -94
- package/app/components/workshop/teams/TeamDeployModal.vue +40 -40
- package/app/components/workshop/teams/TeamPluginModal.vue +119 -119
- package/app/components/workshop/terminal/OmpTerminalPanel.vue +270 -270
- package/app/components/workshop/terminal/TerminalHitlCard.vue +170 -170
- package/app/components/workshop/town/TownScene.ts +466 -466
- package/app/components/workshop/town/TownView.vue +561 -561
- package/app/components/workshop/town/components/AutoModeConfirmModal.vue +94 -94
- package/app/components/workshop/town/components/TownAgentBindings.vue +405 -405
- package/app/components/workshop/town/components/TownAgentInspector.vue +554 -554
- package/app/components/workshop/town/components/TownAlarmList.vue +147 -147
- package/app/components/workshop/town/components/TownBoundaryPanel.vue +350 -350
- package/app/components/workshop/town/components/TownCalloutLayer.vue +147 -147
- package/app/components/workshop/town/components/TownChannelDock.vue +116 -116
- package/app/components/workshop/town/components/TownControlDock.vue +405 -405
- package/app/components/workshop/town/components/TownDaqNodeInspector.vue +345 -345
- package/app/components/workshop/town/components/TownDaqTree.vue +366 -366
- package/app/components/workshop/town/components/TownDcwBindSection.vue +473 -473
- package/app/components/workshop/town/components/TownDcwNodeInspector.vue +185 -185
- package/app/components/workshop/town/components/TownDcwTree.vue +280 -280
- package/app/components/workshop/town/components/TownDeviceBindings.vue +394 -394
- package/app/components/workshop/town/components/TownDeviceTransform.vue +248 -248
- package/app/components/workshop/town/components/TownEventList.vue +120 -120
- package/app/components/workshop/town/components/TownHealthBody.vue +100 -100
- package/app/components/workshop/town/components/TownKpiStrip.vue +207 -207
- package/app/components/workshop/town/components/TownLeftRail.vue +308 -308
- package/app/components/workshop/town/components/TownLoadingMask.vue +61 -61
- package/app/components/workshop/town/components/TownNavMap.vue +154 -154
- package/app/components/workshop/town/components/TownRightRail.vue +543 -543
- package/app/components/workshop/town/components/TownStage.vue +281 -281
- package/app/components/workshop/town/components/TownStageTop.vue +238 -238
- package/app/components/workshop/town/components/TownStatusBar.vue +108 -108
- package/app/components/workshop/town/components/TownTopNav.vue +367 -367
- package/app/components/workshop/town/components/TownTrendDock.vue +178 -178
- package/app/components/workshop/town/scene/town-scene-agents.ts +254 -254
- package/app/components/workshop/town/scene/town-scene-behavior.ts +194 -194
- package/app/components/workshop/town/scene/town-scene-bubbles.ts +96 -96
- package/app/components/workshop/town/scene/town-scene-core.ts +158 -158
- package/app/components/workshop/town/scene/town-scene-models.ts +109 -109
- package/app/components/workshop/town/scene/town-scene-visuals.ts +279 -279
- package/app/components/workshop/town/scene/town-scene3d-agents.ts +308 -308
- package/app/components/workshop/town/scene/town-scene3d-blocks.ts +297 -297
- package/app/components/workshop/town/scene/town-scene3d-bubbles.ts +281 -281
- package/app/components/workshop/town/scene/town-scene3d-camera.ts +282 -282
- package/app/components/workshop/town/scene/town-scene3d-devices.ts +433 -433
- package/app/components/workshop/town/scene/town-scene3d-editing.ts +490 -490
- package/app/components/workshop/town/scene/town-scene3d-events.ts +173 -173
- package/app/components/workshop/town/scene/town-scene3d-factory.ts +412 -412
- package/app/components/workshop/town/scene/town-scene3d-hud.ts +110 -110
- package/app/components/workshop/town/scene/town-scene3d-lifecycle.ts +144 -144
- package/app/components/workshop/town/scene/town-scene3d-links.ts +141 -141
- package/app/components/workshop/town/scene/town-scene3d-loop.ts +286 -286
- package/app/components/workshop/town/scene/town-scene3d-models.ts +154 -154
- package/app/components/workshop/town/scene/town-scene3d-nodes.ts +562 -562
- package/app/components/workshop/town/scene/town-scene3d-ranges.ts +273 -273
- package/app/components/workshop/town/scene/town-scene3d-renderer.ts +320 -320
- package/app/components/workshop/town/scene/town-scene3d-selection.ts +257 -257
- package/app/components/workshop/town/scene/town-scene3d-types.ts +264 -264
- package/app/components/workshop/transcript/TranscriptBlockList.vue +68 -68
- package/app/components/workshop/transcript/TranscriptEarlierPager.vue +81 -81
- package/app/components/workshop/transcript/TranscriptFilterBar.vue +126 -126
- package/app/components/workshop/workbench/CreateWorkspaceModal.vue +36 -36
- package/app/components/workshop/workbench/WorkspaceEmpty.vue +56 -56
- package/app/composables/useResponsive.ts +88 -88
- package/app/composables/workshop/device-twin-types.ts +29 -29
- package/app/composables/workshop/event-blocks/attention.ts +58 -58
- package/app/composables/workshop/event-blocks/classify.ts +44 -44
- package/app/composables/workshop/event-blocks/clusterer.ts +231 -231
- package/app/composables/workshop/event-blocks/fold-stream.ts +45 -45
- package/app/composables/workshop/event-blocks/markdown.ts +81 -81
- package/app/composables/workshop/event-blocks/mentions.ts +49 -49
- package/app/composables/workshop/event-blocks/text-utils.ts +100 -100
- package/app/composables/workshop/event-blocks/types.ts +40 -40
- package/app/composables/workshop/town/town-relay-props.ts +231 -231
- package/app/composables/workshop/town/town-view-types.ts +145 -145
- package/app/composables/workshop/town/useTownAgentBindings.ts +182 -182
- package/app/composables/workshop/town/useTownAgentChat.ts +203 -203
- package/app/composables/workshop/town/useTownAlarms.ts +36 -36
- package/app/composables/workshop/town/useTownCallouts.ts +174 -174
- package/app/composables/workshop/town/useTownChannels.ts +220 -220
- package/app/composables/workshop/town/useTownHealth.ts +66 -66
- package/app/composables/workshop/town/useTownHudTickers.ts +77 -77
- package/app/composables/workshop/town/useTownLayout.ts +277 -277
- package/app/composables/workshop/town/useTownNavMap.ts +301 -301
- package/app/composables/workshop/town/useTownNodeBindings.ts +345 -345
- package/app/composables/workshop/town/useTownPanelDrag.ts +91 -91
- package/app/composables/workshop/town/useTownRailData.ts +421 -421
- package/app/composables/workshop/town/useTownSceneControl.ts +92 -92
- package/app/composables/workshop/town/useTownSceneInput.ts +275 -275
- package/app/composables/workshop/town/useTownSceneRuntime.ts +390 -390
- package/app/composables/workshop/town/useTownSheets.ts +41 -41
- package/app/composables/workshop/town/useTownTrends.ts +93 -93
- package/app/composables/workshop/useChannelList.ts +88 -88
- package/app/composables/workshop/useChannelTerminals.ts +65 -65
- package/app/composables/workshop/useComposerMentions.ts +130 -130
- package/app/composables/workshop/useDcwStream.ts +374 -374
- package/app/composables/workshop/useDeviceTwinDcwWrite.ts +77 -77
- package/app/composables/workshop/useDeviceTwinPanel.ts +56 -56
- package/app/composables/workshop/useEscClose.ts +44 -44
- package/app/composables/workshop/useEventBlockView.ts +159 -159
- package/app/composables/workshop/useEventBlocks.ts +33 -33
- package/app/composables/workshop/useHitlAnswer.ts +184 -184
- package/app/composables/workshop/useLaneWidths.ts +27 -27
- package/app/composables/workshop/useOmpTerminalSession.ts +424 -424
- package/app/composables/workshop/usePluginAdmin.ts +152 -152
- package/app/composables/workshop/usePluginPanels.ts +72 -72
- package/app/composables/workshop/useRuntimeConfigDraft.ts +118 -118
- package/app/composables/workshop/useSettingsGroups.ts +243 -243
- package/app/composables/workshop/useTaskBoardColumns.ts +47 -47
- package/app/composables/workshop/useTerminalRenderer.ts +308 -308
- package/app/composables/workshop/useTranscriptEnterStage.ts +48 -48
- package/app/composables/workshop/useTranscriptHistory.ts +52 -52
- package/app/composables/workshop/useTranscriptScroll.ts +113 -113
- package/app/composables/workshop/useVisibleInterval.ts +42 -42
- package/app/composables/workshop/useWorkshopApi.ts +6 -0
- package/app/composables/workshop/useWorkshopWs.ts +265 -265
- package/app/config/index.ts +1 -1
- package/app/config/schema.ts +5 -0
- package/app/middleware/locale-cookie.global.ts +22 -22
- package/app/pages/aml/api.ts +6 -6
- package/app/pages/aml/composables/useAmlDatasets.ts +38 -38
- package/app/pages/aml/composables/useAmlEntities.ts +57 -57
- package/app/pages/aml/composables/useAmlEnv.ts +191 -191
- package/app/pages/aml/composables/useAmlExperiments.ts +45 -45
- package/app/pages/aml/composables/useAmlFormat.ts +44 -44
- package/app/pages/aml/composables/useAmlJobs.ts +131 -131
- package/app/pages/aml/composables/useAmlModels.ts +56 -56
- package/app/pages/aml/composables/useAmlNotes.ts +47 -47
- package/app/pages/aml/composables/useAmlPredict.ts +93 -93
- package/app/pages/aml/constants.ts +63 -63
- package/app/pages/aml/index.vue +236 -236
- package/app/pages/composables/useDashboardCharts.ts +192 -192
- package/app/pages/composables/useDashboardData.ts +144 -144
- package/app/pages/daq/composables/useDaqAddNode.ts +126 -126
- package/app/pages/daq/composables/useDaqDetailBinding.ts +29 -29
- package/app/pages/daq/composables/useDaqDetailFrames.ts +42 -42
- package/app/pages/daq/composables/useDaqDetailNode.ts +53 -53
- package/app/pages/daq/composables/useDaqDetailParams.ts +138 -138
- package/app/pages/daq/composables/useDaqFilters.ts +187 -187
- package/app/pages/daq/composables/useDaqNodeWindow.ts +86 -86
- package/app/pages/daq/composables/useDaqOptimizations.ts +99 -99
- package/app/pages/daq/composables/useDaqTemplates.ts +152 -152
- package/app/pages/daq/index.vue +260 -260
- package/app/pages/dcw/composables/useDcwCards.ts +27 -27
- package/app/pages/dcw/composables/useDcwDetailScope.ts +145 -145
- package/app/pages/dcw/composables/useDcwDetailTemplates.ts +94 -94
- package/app/pages/dcw/composables/useDcwFilter.ts +29 -29
- package/app/pages/dcw/composables/useDcwLedger.ts +34 -34
- package/app/pages/dcw/composables/useDcwLineMutations.ts +115 -115
- package/app/pages/dcw/composables/useDcwLineRun.ts +60 -60
- package/app/pages/dcw/composables/useDcwProducts.ts +54 -54
- package/app/pages/dcw/composables/useDcwQuery.ts +68 -68
- package/app/pages/dcw/composables/useDcwQuickActions.ts +47 -47
- package/app/pages/dcw/composables/useDcwRecipes.ts +256 -256
- package/app/pages/dcw/composables/useDcwTemplates.ts +50 -50
- package/app/pages/dcw/index.vue +195 -195
- package/app/pages/dcw/types.ts +9 -9
- package/app/pages/index.vue +126 -126
- package/app/pages/logs/composables/useLogsFormat.ts +43 -43
- package/app/pages/logs/composables/useLogsScope.ts +39 -39
- package/app/pages/monitor/types.ts +61 -61
- package/app/pages/ontology/index.vue +1 -1
- package/app/pages/operations.vue +61 -61
- package/app/pages/permissions/index.vue +369 -369
- package/app/pages/studio/board.vue +30 -9
- package/app/pages/studio/index.vue +40 -8
- package/app/pages/studio/pipeline.vue +804 -0
- package/app/pages/tokens/composables/useTokenClipboard.ts +33 -33
- package/app/pages/tokens/composables/useTokenCreate.ts +93 -93
- package/app/pages/tokens/composables/useTokenRename.ts +54 -54
- package/app/pages/tokens/composables/useTokenReveal.ts +84 -84
- package/app/pages/tokens/composables/useTokensList.ts +60 -60
- package/app/pages/tokens.vue +111 -111
- package/app/pages/tools/index.vue +98 -98
- package/app/pages/workshop/agents.vue +130 -130
- package/app/pages/workshop/composables/useAgentHarnessOptions.ts +59 -59
- package/app/pages/workshop/composables/useAgentTemplateActions.ts +42 -42
- package/app/pages/workshop/composables/useAgentTemplateDialogState.ts +24 -24
- package/app/pages/workshop/composables/useAgentTemplateForm.ts +88 -88
- package/app/pages/workshop/composables/useAgentTemplatesCatalog.ts +92 -92
- package/app/pages/workshop/composables/useTeamActions.ts +44 -44
- package/app/pages/workshop/composables/useTeamAddMemberDialog.ts +49 -49
- package/app/pages/workshop/composables/useTeamCreateDialog.ts +67 -67
- package/app/pages/workshop/composables/useTeamDeployDialog.ts +49 -49
- package/app/pages/workshop/composables/useTeamDialogState.ts +46 -46
- package/app/pages/workshop/composables/useTeamPluginDialog.ts +72 -72
- package/app/pages/workshop/composables/useTeamsCatalog.ts +100 -100
- package/app/pages/workshop/composables/useWorkbenchWorkspaces.ts +123 -123
- package/app/pages/workshop/composables/useWorkspaceAuth.ts +31 -31
- package/app/pages/workshop/composables/useWorkspaceChannels.ts +62 -62
- package/app/pages/workshop/composables/useWorkspaceShell.ts +136 -136
- package/app/pages/workshop/schedules.vue +553 -553
- package/app/pages/workshop/w/[wsId].vue +221 -221
- package/app/plugins/aw-plugins.client.ts +213 -213
- package/app/plugins/esc-close.client.ts +31 -31
- package/app/stores/workshop/hitl.ts +183 -183
- package/app/stores/workshop/narrow-fetch.ts +23 -23
- package/app/utils/api-error.ts +75 -75
- package/app/utils/builtin-catalog.ts +104 -104
- package/app/utils/chart-pipeline.ts +242 -0
- package/app/utils/chart-trend.ts +97 -97
- package/app/utils/dcw-driver-badge.ts +16 -16
- package/app/utils/dcw-recipe-form.ts +26 -26
- package/cli/commands/tui.mjs +28 -28
- package/cli/commands/update.mjs +124 -124
- package/cli/core/child-lifecycle.mjs +136 -136
- package/cli/core/meta.mjs +38 -38
- package/cli/core/post-build.mjs +96 -96
- package/config.yml +1 -1
- package/docs/cli.en.md +4 -4
- package/docs/cli.md +4 -4
- package/docs/mcp.en.md +27 -27
- package/docs/multi-harness-architecture.md +248 -248
- 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/docs/tui.md +43 -43
- package/i18n/dicts/_en.json +1551 -1551
- package/i18n/dicts/_en2.json +300 -300
- package/i18n/dicts/_en4.json +114 -114
- package/i18n/dicts/agentLanesView.json +61 -61
- package/i18n/dicts/appHeader.json +17 -17
- package/i18n/dicts/channelSessionList.json +51 -51
- package/i18n/dicts/chat.json +79 -79
- package/i18n/dicts/clusterTool.json +4 -4
- package/i18n/dicts/composer.json +38 -38
- package/i18n/dicts/ctpl.json +37 -37
- package/i18n/dicts/dcwDetail.json +219 -219
- package/i18n/dicts/lineOps.json +14 -14
- package/i18n/dicts/multiChannelView.json +13 -13
- package/i18n/dicts/notifications.json +13 -13
- package/i18n/dicts/taskInspectorDrawer.json +25 -25
- package/i18n/dicts/teamPlugins.json +10 -10
- package/i18n/dicts/townView.json +209 -209
- package/i18n/locales/en.ts +64 -0
- package/i18n/locales/zh-CN.ts +64 -0
- package/mcp/discovery.mjs +227 -227
- package/package.json +1 -1
- package/public/favicon.svg +14 -14
- package/public/robots.txt +3 -3
- package/scripts/_audit/_detached-mes-20261028.mjs +48 -0
- package/scripts/_audit/_detached-nodesim-20261028.mjs +50 -0
- package/scripts/_audit/_detached-sim-20261028.mjs +44 -0
- package/scripts/_audit/_live-execmodes-20261028.mjs +246 -0
- package/scripts/_audit/_live-execmodes-invoke-20261028.mjs +203 -0
- package/scripts/_audit/_mission-coupling-probe-20261028.mjs +27 -0
- package/scripts/_audit/_mission-f1-evidence-20261028.mjs +56 -0
- package/scripts/_audit/_mission-idd-remint-20261028.mjs +32 -0
- package/scripts/_audit/_mission-ui-shots-20261028.mjs +56 -0
- package/scripts/_audit/_mission-us10-timeline-20261028.mjs +65 -0
- package/scripts/_audit/_mission-us12-tools-20261028.mjs +85 -0
- package/scripts/_audit/_mission-us4-daq-dcw-20261028.mjs +115 -0
- package/scripts/_audit/_mission-us5-mes-20261028.mjs +142 -0
- package/scripts/_audit/_mission-us6-dialog-20261028.mjs +43 -0
- package/scripts/_audit/_mission-us7-diag-20261028.mjs +42 -0
- package/scripts/_audit/_mission-us7-final-20261028.mjs +79 -0
- package/scripts/_audit/_mission-us7-idd-rag-20261028.mjs +147 -0
- package/scripts/_audit/audit-harness-adapters.md +664 -664
- package/scripts/_audit/aw-mcp-live-e2e.mjs +293 -293
- package/scripts/_audit/bump-version.mjs +51 -51
- package/scripts/_audit/detached-instance.mjs +112 -112
- package/scripts/_audit/detached-start.mjs +103 -103
- package/scripts/_audit/eda-ui-fix-acceptance.mjs +212 -212
- package/scripts/_audit/guard-upstream-liveness.mjs +104 -104
- package/scripts/_audit/http-api-authz-audit.md +657 -657
- package/scripts/_audit/kb-team-mock-e2e.mjs +146 -146
- package/scripts/_audit/kb-team-omp-e2e.mjs +229 -229
- package/scripts/_audit/run.mjs +21 -21
- package/scripts/_audit/runtime-audit.md +716 -716
- package/scripts/_audit/skills-guided-e2e.mjs +316 -316
- package/scripts/_audit/stability-soak.mjs +252 -252
- package/scripts/_audit/stubs/nuxt-imports.mjs +67 -67
- package/scripts/_audit/ts-register-hook.mjs +12 -12
- package/scripts/_audit/ts-resolve-hook.mjs +96 -96
- package/scripts/_aw0746-stage12.mjs +94 -94
- package/scripts/_aw0746-stage34.mjs +136 -136
- package/scripts/_aw0746-stage6b-train-sweep.mjs +145 -145
- package/scripts/_aw0746-stage6c-jobsmoke.mjs +69 -69
- package/scripts/_dbg-configroot-audit.mjs +86 -86
- package/scripts/_dbg-daq-intervals-func.mjs +115 -115
- package/scripts/_dbg-perms-e2e.mjs +142 -142
- package/scripts/_dbg-protocol-matrix.mjs +462 -462
- package/scripts/_dbg-render-regression.mjs +193 -193
- package/scripts/_dbg-schedule-e2e.mjs +262 -262
- package/scripts/_e2e-ui-functional.mjs +371 -371
- package/scripts/_lib-aml-python-run.mjs +17 -17
- package/scripts/_plc-sim-detached.cjs +22 -22
- package/scripts/_provision-injection-line.mjs +39 -39
- package/scripts/_run-matrix.ps1 +53 -53
- package/scripts/_sweep-button-contrast.mjs +87 -87
- package/scripts/acceptance-aml-hybrid-e2e.ts +396 -396
- package/scripts/acceptance-aml-hybrid-live.mjs +93 -93
- package/scripts/acceptance-aml-model-identity.ts +137 -137
- package/scripts/agent-daq-isolation-e2e.mjs +91 -91
- package/scripts/api-contract-smoke.mjs +126 -126
- package/scripts/ask-hitl-e2e.mjs +96 -96
- package/scripts/aw-expose.mjs +159 -159
- package/scripts/channel-interaction-smoke.mjs +80 -80
- package/scripts/check-docs-sync.mjs +1 -1
- package/scripts/data-studio-ui-e2e.mjs +163 -163
- package/scripts/demo-group-chat-all-real.ts +279 -279
- package/scripts/dev-modbus-simulator.mjs +55 -55
- package/scripts/docs-shots.mjs +36 -36
- package/scripts/e2e-agentteam-chat.mjs +473 -473
- package/scripts/e2e-agentteam-real-triage.mjs +421 -421
- package/scripts/e2e-aml-decoupled.mjs +162 -162
- package/scripts/e2e-aw-tui-global.mjs +277 -277
- package/scripts/e2e-closedloop/cleanup.mjs +27 -27
- package/scripts/e2e-closedloop/lib.mjs +109 -109
- package/scripts/e2e-closedloop/main.mjs +59 -59
- package/scripts/e2e-closedloop/scenarios-accounts.mjs +210 -210
- package/scripts/e2e-closedloop/scenarios-authz.mjs +196 -196
- package/scripts/e2e-closedloop/scenarios-daq-dcw.mjs +222 -222
- package/scripts/e2e-closedloop/scenarios-plugins.mjs +169 -169
- package/scripts/e2e-closedloop/state.mjs +10 -10
- package/scripts/e2e-config-groups.mjs +238 -238
- package/scripts/e2e-crash-cycle.mjs +108 -108
- package/scripts/e2e-direct-rest-simulator-paper.mjs +624 -0
- package/scripts/e2e-eda-pipeline.mjs +307 -0
- package/scripts/e2e-execution-modes.mjs +290 -0
- package/scripts/e2e-full-closedloop.mjs +16 -16
- package/scripts/e2e-hil-multi-user.mjs +307 -307
- package/scripts/e2e-hil-restart.mjs +339 -339
- package/scripts/e2e-injection-recipe-closedloop.mjs +1 -1
- package/scripts/e2e-line-governance.mjs +352 -352
- package/scripts/e2e-mqtt-protocol.mjs +945 -0
- package/scripts/e2e-ontology.mjs +393 -393
- package/scripts/e2e-pi-simulator-paper.mjs +2317 -0
- package/scripts/e2e-plc-plugin-closedloop.mjs +549 -549
- package/scripts/e2e-registered-harness-simulator-paper.mjs +1926 -0
- package/scripts/e2e-resume-crash.mjs +20 -6
- package/scripts/e2e-simulator-optimizer-paper.mjs +264 -0
- package/scripts/e2e-timezone-settings.mjs +4 -2
- package/scripts/fixtures/omp-paper-harness.mjs +163 -0
- package/scripts/full-stack-shots.mjs +145 -145
- package/scripts/full-tool-injection-harness-e2e.mjs +214 -214
- package/scripts/hitl-reject-e2e.mjs +131 -131
- package/scripts/line-log-smoke.mjs +260 -260
- package/scripts/live-aml-mockomp.mjs +304 -304
- package/scripts/live-aml-optloop-resume.mjs +322 -322
- package/scripts/live-aml-optloop.mjs +588 -588
- package/scripts/live-aml-stage9.mjs +169 -169
- package/scripts/live-aml-two-goals.mjs +315 -315
- package/scripts/live-optloop-two-modes.mjs +857 -857
- package/scripts/mes-agent-integration-e2e.mjs +361 -361
- package/scripts/ops-plugins-e2e.mjs +85 -85
- package/scripts/scenario-suite-setup.mjs +337 -337
- package/scripts/scenario-suite-stability.mjs +144 -144
- package/scripts/team-coordination-e2e.mjs +96 -96
- package/scripts/test-agentteam-workflow.ts +472 -472
- package/scripts/test-aw-skills.mjs +102 -102
- package/scripts/test-daq-frame-race.mjs +358 -358
- package/scripts/test-data-root.mjs +208 -208
- package/scripts/test-events-index.mjs +176 -176
- package/scripts/test-group-chat-unit/lib.ts +186 -186
- package/scripts/test-group-chat-unit/main.ts +45 -45
- package/scripts/test-group-chat-unit.ts +35 -35
- package/scripts/test-hitl-decision.ts +526 -526
- package/scripts/test-hitl-registry.ts +112 -112
- package/scripts/test-log-flooding.mjs +160 -160
- package/scripts/test-lru.mjs +101 -101
- package/scripts/test-plugin-hardening.mjs +90 -90
- package/scripts/test-plugin-lifecycle.mjs +173 -173
- package/scripts/test-rollback-index.mjs +137 -137
- package/scripts/test-schedule-runtime.ts +309 -309
- package/scripts/test-sdk-surface.mjs +158 -158
- package/scripts/test-serial-bridge.mjs +418 -418
- package/scripts/test-tui-commands.mjs +148 -148
- package/scripts/test-tui-reducers.mjs +72 -72
- package/scripts/three-system-e2e/lib.mjs +79 -79
- package/scripts/three-system-e2e/main.mjs +40 -40
- package/scripts/three-system-e2e/phases/phase-0-user-token.mjs +42 -42
- package/scripts/three-system-e2e/phases/phase-0a2-line-autoselect.mjs +35 -35
- package/scripts/three-system-e2e/phases/phase-0b-fixture-grants.mjs +39 -39
- package/scripts/three-system-e2e/phases/phase-0c-plugin-outbound-auth.mjs +95 -95
- package/scripts/three-system-e2e/phases/stage-1-health.mjs +47 -47
- package/scripts/three-system-e2e/phases/stage-2-5-team-plugins.mjs +84 -84
- package/scripts/three-system-e2e/phases/stage-2-teams-tools-hitl.mjs +184 -184
- package/scripts/three-system-e2e/phases/stage-3-diag.mjs +73 -73
- package/scripts/three-system-e2e/phases/stage-4-plugin-toggle.mjs +53 -53
- package/scripts/three-system-e2e/state.mjs +87 -87
- package/scripts/three-system-e2e.mjs +40 -40
- package/scripts/tool-face-batch-identity-e2e.mjs +222 -222
- package/scripts/tsconfig.json +14 -14
- package/scripts/tui-smoke.mjs +100 -100
- package/scripts/typecheck.mjs +75 -75
- package/scripts/ui/md-lint.mjs +80 -80
- package/scripts/ui/readme-assets.mjs +30 -30
- package/scripts/ui/readme-shots.mjs +42 -42
- package/scripts/ui/record-demo.mjs +557 -557
- package/scripts/ui/record.mjs +225 -225
- package/scripts/ui/seed-admin.mjs +68 -68
- package/scripts/ui/seed-demo.mjs +83 -83
- package/scripts/ui/seed-industrial-demo.mjs +171 -171
- package/scripts/ui/shot-hero.mjs +25 -25
- package/scripts/ui/shots.mjs +75 -75
- package/scripts/ui/verify-nav.mjs +51 -51
- package/scripts/ui/verify-responsive.mjs +285 -285
- package/sdk/client.d.mts +110 -110
- package/sdk/examples/line-sentinel/index.mjs +105 -105
- package/sdk/examples/ops-notifier/index.mjs +34 -34
- package/sdk/examples/sample-insight/index.mjs +39 -39
- package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.json +1 -0
- package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/942d2679b87b96c612b4f2a425c3ccc5b6f3234f0cf589a8441602f866fbe277.source +41 -0
- package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/dd617a82339d2c61e49e28e416aabeb2fc100fb3cb1beca18d02dfb833214af6.source +51 -0
- package/server/.mimosa/hook-status/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2-e67b6b91bf.json +14 -0
- package/server/api/plugins/client/[name].get.ts +18 -18
- package/server/api/plugins/i18n.get.ts +12 -12
- package/server/api/plugins/manifest.get.ts +10 -10
- package/server/api/system/backup/list.get.ts +32 -32
- package/server/api/system/backup/run.post.ts +21 -21
- package/server/api/system/config-groups/[id].delete.ts +21 -21
- package/server/api/system/config-groups/[id].patch.ts +26 -26
- package/server/api/system/config-groups/index.get.ts +21 -21
- package/server/api/system/config-groups/index.post.ts +33 -33
- package/server/api/system/timezone.get.ts +20 -20
- package/server/api/users/tokens/[id]/token.get.ts +11 -11
- package/server/api/workshop/[...path].ts +13 -13
- package/server/api/workshop/agent-tools/approvals/index.get.ts +43 -43
- package/server/api/workshop/agent-tools/bindings/[id].delete.ts +26 -26
- package/server/api/workshop/agent-tools/bindings/grant.post.ts +45 -45
- package/server/api/workshop/agent-tools/bindings/index.get.ts +41 -41
- package/server/api/workshop/agent-tools/bindings/revoke.post.ts +42 -42
- package/server/api/workshop/aml/datasets/[id]/preview.get.ts +68 -68
- package/server/api/workshop/aml/datasets/[id].delete.ts +39 -39
- package/server/api/workshop/aml/datasets/[id].get.ts +53 -53
- package/server/api/workshop/aml/datasets/[id].patch.ts +30 -30
- package/server/api/workshop/aml/datasets/index.get.ts +20 -20
- package/server/api/workshop/aml/datasets/index.post.ts +27 -27
- package/server/api/workshop/aml/entities/index.get.ts +13 -13
- package/server/api/workshop/aml/entities/prune.post.ts +28 -28
- package/server/api/workshop/aml/env/index.get.ts +13 -13
- package/server/api/workshop/aml/env/recheck.post.ts +14 -14
- package/server/api/workshop/aml/env/uv.post.ts +21 -21
- package/server/api/workshop/aml/env/venv.post.ts +24 -24
- package/server/api/workshop/aml/experiments/index.get.ts +35 -35
- package/server/api/workshop/aml/index.get.ts +37 -37
- package/server/api/workshop/aml/jobs/[id]/cancel.post.ts +21 -21
- package/server/api/workshop/aml/jobs/[id]/logs.get.ts +23 -23
- package/server/api/workshop/aml/jobs/[id]/retry.post.ts +20 -20
- package/server/api/workshop/aml/jobs/[id].delete.ts +44 -44
- package/server/api/workshop/aml/jobs/[id].get.ts +23 -23
- package/server/api/workshop/aml/jobs/index.get.ts +26 -26
- package/server/api/workshop/aml/models/[id]/predict.post.ts +24 -24
- package/server/api/workshop/aml/models/[id]/promote.post.ts +30 -30
- package/server/api/workshop/aml/models/index.get.ts +48 -48
- package/server/api/workshop/aml/training-plans/[id]/train.post.ts +18 -18
- package/server/api/workshop/aml/training-plans/[id].delete.ts +18 -18
- package/server/api/workshop/aml/training-plans/[id].patch.ts +30 -30
- package/server/api/workshop/aml/training-plans/index.get.ts +9 -9
- package/server/api/workshop/aml/training-plans/index.post.ts +43 -43
- package/server/api/workshop/analysis/index.post.ts +54 -0
- package/server/api/workshop/approvals/[id]/decide.post.ts +30 -30
- package/server/api/workshop/approvals/index.get.ts +22 -22
- package/server/api/workshop/audit.get.ts +43 -43
- package/server/api/workshop/channels/[id]/chat/messages/[messageId]/read.post.ts +22 -22
- package/server/api/workshop/channels/[id]/chat/messages/index.get.ts +29 -29
- package/server/api/workshop/channels/[id]/chat/messages/index.post.ts +51 -51
- package/server/api/workshop/channels/[id]/chat/permissions.get.ts +35 -35
- package/server/api/workshop/channels/[id]/execution-mode.patch.ts +94 -0
- package/server/api/workshop/channels/[id]/index.patch.ts +64 -64
- package/server/api/workshop/channels/[id]/members/[userId]/approve.post.ts +20 -20
- package/server/api/workshop/channels/[id]/members/[userId].delete.ts +21 -21
- package/server/api/workshop/channels/[id]/members/index.get.ts +23 -23
- package/server/api/workshop/channels/[id]/members/leave.post.ts +20 -20
- package/server/api/workshop/channels/[id]/twin-profile.get.ts +45 -45
- package/server/api/workshop/channels/[id]/twin-profile.patch.ts +72 -72
- package/server/api/workshop/daq/[id]/frames/content.get.ts +3 -0
- package/server/api/workshop/daq/[id]/ingest.post.ts +5 -0
- package/server/api/workshop/daq/[id]/test.post.ts +1 -1
- package/server/api/workshop/daq/alarms.get.ts +16 -16
- package/server/api/workshop/dcw/[id]/write.post.ts +4 -4
- package/server/api/workshop/dcw/[id].delete.ts +41 -41
- package/server/api/workshop/dcw/[id].patch.ts +40 -40
- package/server/api/workshop/dcw/mes-hook-test.post.ts +5 -3
- package/server/api/workshop/dcw/mes-test-read.post.ts +24 -24
- package/server/api/workshop/dcw/params/[id]/read.post.ts +17 -17
- package/server/api/workshop/dcw/params/[id]/write.post.ts +21 -21
- package/server/api/workshop/dcw/params/[id].delete.ts +19 -19
- package/server/api/workshop/dcw/params/[id].patch.ts +23 -23
- package/server/api/workshop/dcw/params/index.get.ts +27 -27
- package/server/api/workshop/dcw/params/index.post.ts +25 -25
- package/server/api/workshop/dcw/products/[id].delete.ts +6 -2
- package/server/api/workshop/dcw/products/[id].patch.ts +8 -2
- package/server/api/workshop/dcw/recipes/[id]/index.patch.ts +6 -1
- package/server/api/workshop/dcw/recipes/[id]/versions.get.ts +14 -14
- package/server/api/workshop/dcw/recipes/[id].delete.ts +25 -25
- package/server/api/workshop/dcw/recipes/index.get.ts +12 -12
- package/server/api/workshop/dcw/runs/[id]/close.post.ts +15 -15
- package/server/api/workshop/dcw/templates/[key].delete.ts +14 -14
- package/server/api/workshop/dcw/templates/[key].patch.ts +16 -16
- package/server/api/workshop/dcw/templates/index.post.ts +15 -15
- package/server/api/workshop/dcw/test-driver.post.ts +16 -16
- package/server/api/workshop/device-twins/[id].delete.ts +25 -25
- package/server/api/workshop/eda/runs/[id]/labels.patch.ts +25 -25
- package/server/api/workshop/eda/templates/[id].delete.ts +14 -0
- package/server/api/workshop/eda/templates/[id].get.ts +15 -0
- package/server/api/workshop/eda/templates/[id].patch.ts +20 -0
- package/server/api/workshop/eda/templates/index.get.ts +11 -0
- package/server/api/workshop/eda/templates/index.post.ts +20 -0
- package/server/api/workshop/exp/confirmations/[id]/decide.post.ts +41 -41
- package/server/api/workshop/exp/confirmations/index.get.ts +25 -25
- package/server/api/workshop/harnesses/[id]/providers.get.ts +16 -16
- package/server/api/workshop/hitl/respond.post.ts +94 -94
- package/server/api/workshop/mes/secrets/[ref].delete.ts +31 -0
- package/server/api/workshop/mes/secrets/index.get.ts +13 -0
- package/server/api/workshop/mes/secrets/index.put.ts +39 -0
- package/server/api/workshop/notifications/index.get.ts +60 -60
- package/server/api/workshop/notifications/read.post.ts +31 -31
- package/server/api/workshop/ontology/drafts/[draftId]/subgraph.ts +24 -24
- package/server/api/workshop/plugins/[name]/disable.post.ts +21 -21
- package/server/api/workshop/plugins/[name]/enable.post.ts +21 -21
- package/server/api/workshop/plugins/[name]/index.get.ts +14 -14
- package/server/api/workshop/schedules/[id]/run.post.ts +15 -15
- package/server/api/workshop/schedules/[id]/runs.get.ts +15 -15
- package/server/api/workshop/schedules/[id].delete.ts +14 -14
- package/server/api/workshop/schedules/[id].get.ts +13 -13
- package/server/api/workshop/schedules/[id].patch.ts +29 -29
- package/server/api/workshop/schedules/index.get.ts +12 -12
- package/server/api/workshop/schedules/index.post.ts +32 -32
- package/server/api/workshop/tasks/[id]/reassign.post.ts +32 -32
- package/server/api/workshop/tasks/[id]/update.post.ts +35 -35
- package/server/api/workshop/teams/[id]/plugins/index.get.ts +36 -36
- package/server/api/workshop/teams/[id]/plugins/index.put.ts +42 -42
- package/server/api/workshop/ws/audience.ts +56 -56
- package/server/api/workshop/ws/db-buffer.ts +68 -68
- package/server/api/workshop/ws/event-mapping.ts +47 -47
- package/server/api/workshop/ws/handlers.ts +132 -132
- package/server/api/workshop/ws/hub.ts +133 -133
- package/server/api/workshop/ws/index.ts +23 -23
- package/server/api/workshop/ws/notification-uplink.ts +77 -77
- package/server/api/workshop/ws/shared.ts +94 -94
- package/server/api/workshop/ws/streams.ts +146 -146
- package/server/middleware/00-security-headers.ts +38 -38
- package/server/middleware/01-rate-guard.ts +101 -101
- package/server/plugins/aml-twin-worker.ts +32 -32
- package/server/plugins/dev-stability-guard.ts +42 -42
- package/server/plugins-builtin/diag-bridge/host/constants.mjs +25 -25
- package/server/plugins-builtin/diag-bridge/host/exports.mjs +104 -104
- package/server/plugins-builtin/diag-bridge/host/index.mjs +15 -15
- package/server/plugins-builtin/diag-bridge/host/intents.mjs +62 -62
- package/server/plugins-builtin/diag-bridge/host/snapshot.mjs +93 -93
- package/server/plugins-builtin/diag-bridge/index.mjs +9 -9
- package/server/plugins-builtin/serial-bridge/client.mjs +211 -211
- package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -409
- package/server/plugins-builtin/serial-bridge/i18n.json +62 -62
- package/server/plugins-builtin/serial-bridge/index.mjs +247 -247
- package/server/plugins-builtin/serial-bridge/lib.mjs +208 -208
- package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -168
- package/server/services/system-config/contracts.ts +29 -29
- package/server/services/system-config/dispose.ts +19 -19
- package/server/services/system-config/facade.ts +26 -26
- package/server/services/system-config/groups.ts +108 -108
- package/server/services/system-config/index.ts +21 -21
- package/server/services/system-config/init.ts +26 -26
- package/server/services/system-config/mutate.ts +103 -103
- package/server/services/system-config/plugins.ts +104 -104
- package/server/services/system-config/snapshot.ts +59 -59
- package/server/services/system-config/state.ts +79 -79
- package/server/services/system-config/types.ts +58 -58
- package/server/services/workshop/.mimosa/hook-state/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f.json +1 -0
- package/server/services/workshop/.mimosa/hook-status/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f-e6b75bbfe6.json +14 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/api.ts +111 -111
- package/server/services/workshop/agents/adapters/omp-rpc-client/contracts.ts +22 -22
- package/server/services/workshop/agents/adapters/omp-rpc-client/facade.ts +7 -7
- package/server/services/workshop/agents/adapters/omp-rpc-client/frames.ts +18 -0
- package/server/services/workshop/agents/adapters/omp-rpc-client/helpers.ts +38 -38
- package/server/services/workshop/agents/adapters/omp-rpc-client/index.ts +25 -25
- package/server/services/workshop/agents/adapters/omp-rpc-client/start.ts +70 -70
- package/server/services/workshop/agents/adapters/omp-rpc-client/state.ts +65 -65
- package/server/services/workshop/agents/adapters/omp-rpc-client/stdout.ts +92 -92
- package/server/services/workshop/agents/adapters/omp-rpc-client/usage.ts +47 -47
- package/server/services/workshop/agents/agent-badge.ts +38 -38
- package/server/services/workshop/agents/binding-authz.ts +60 -60
- package/server/services/workshop/agents/binding-mode.ts +51 -51
- package/server/services/workshop/agents/codex-agent/client.ts +170 -170
- package/server/services/workshop/agents/codex-agent/core.ts +119 -119
- package/server/services/workshop/agents/codex-agent/facade.ts +8 -8
- package/server/services/workshop/agents/codex-agent/helpers.ts +13 -13
- package/server/services/workshop/agents/codex-agent/hitl.ts +138 -138
- package/server/services/workshop/agents/codex-agent/index.ts +14 -14
- package/server/services/workshop/agents/codex-agent/turn.ts +367 -367
- package/server/services/workshop/agents/codex-agent/types.ts +42 -42
- package/server/services/workshop/agents/execution-mode.ts +90 -0
- package/server/services/workshop/agents/harness-process.ts +3 -3
- package/server/services/workshop/agents/harness-terminal/api.ts +197 -197
- package/server/services/workshop/agents/harness-terminal/index.ts +17 -17
- package/server/services/workshop/agents/harness-terminal/io.ts +120 -120
- package/server/services/workshop/agents/harness-terminal/park.ts +55 -55
- package/server/services/workshop/agents/harness-terminal/sanitize.ts +98 -98
- package/server/services/workshop/agents/harness-terminal/session.ts +124 -124
- package/server/services/workshop/agents/harness-terminal/shared.ts +74 -74
- package/server/services/workshop/agents/hitl-capabilities.ts +312 -312
- package/server/services/workshop/agents/hitl-decision/answers.ts +32 -32
- package/server/services/workshop/agents/hitl-decision/decide.ts +268 -268
- package/server/services/workshop/agents/hitl-decision/payload.ts +45 -45
- package/server/services/workshop/agents/hitl-decision/shared.ts +108 -108
- package/server/services/workshop/agents/hitl-decision/visibility.ts +94 -94
- package/server/services/workshop/agents/host-tool-bridge/catalog.ts +42 -13
- package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +16 -0
- package/server/services/workshop/agents/host-tool-bridge/per-agent.ts +10 -8
- package/server/services/workshop/agents/host-tool-bridge/tools/progress.ts +84 -84
- package/server/services/workshop/agents/host-tool-bridge/tools/team-delegation.ts +104 -104
- package/server/services/workshop/agents/host-tool-bridge/tools/team.ts +70 -70
- package/server/services/workshop/agents/industrial/aml-activity.ts +131 -131
- package/server/services/workshop/agents/industrial/audit-query.ts +66 -66
- package/server/services/workshop/agents/industrial/daq-export.ts +9 -8
- package/server/services/workshop/agents/industrial/daq-tools.ts +43 -6
- package/server/services/workshop/agents/industrial/dcw-tools.ts +22 -4
- package/server/services/workshop/agents/industrial/exp-tools.ts +104 -104
- package/server/services/workshop/agents/industrial/grant-guard.ts +52 -9
- package/server/services/workshop/agents/industrial/ops-tools.ts +54 -16
- package/server/services/workshop/agents/industrial/param-tools.ts +69 -69
- package/server/services/workshop/agents/industrial/recipe-gate.ts +25 -7
- package/server/services/workshop/agents/industrial/recipe-propose-tools.ts +1 -1
- package/server/services/workshop/agents/industrial-context.ts +160 -83
- package/server/services/workshop/agents/node-bindings.repo.ts +207 -207
- package/server/services/workshop/agents/node-delegation.ts +159 -159
- package/server/services/workshop/agents/omp-agent/core.ts +146 -146
- package/server/services/workshop/agents/omp-agent/facade.ts +8 -8
- package/server/services/workshop/agents/omp-agent/helpers.ts +37 -37
- package/server/services/workshop/agents/omp-agent/index.ts +16 -16
- package/server/services/workshop/agents/omp-agent/supervision-history.ts +38 -0
- package/server/services/workshop/agents/omp-agent/tools-steer.ts +18 -1
- package/server/services/workshop/agents/omp-agent/types.ts +45 -45
- package/server/services/workshop/agents/opencode-agent/core.ts +77 -77
- package/server/services/workshop/agents/opencode-agent/facade.ts +8 -8
- package/server/services/workshop/agents/opencode-agent/helpers.ts +29 -29
- package/server/services/workshop/agents/opencode-agent/hitl.ts +113 -113
- package/server/services/workshop/agents/opencode-agent/index.ts +16 -16
- package/server/services/workshop/agents/opencode-agent/lifecycle.ts +44 -44
- package/server/services/workshop/agents/opencode-agent/server.ts +244 -244
- package/server/services/workshop/agents/opencode-agent/turn.ts +278 -278
- package/server/services/workshop/agents/opencode-agent/types.ts +54 -54
- package/server/services/workshop/agents/prompt-i18n.ts +67 -0
- package/server/services/workshop/agents/tool-classes.ts +44 -44
- package/server/services/workshop/aml/clean.ts +120 -120
- package/server/services/workshop/aml/entity.ts +367 -367
- package/server/services/workshop/aml/job-orchestrator/broadcast.ts +37 -37
- package/server/services/workshop/aml/job-orchestrator/control.ts +94 -94
- package/server/services/workshop/aml/job-orchestrator/failure.ts +96 -96
- package/server/services/workshop/aml/job-orchestrator/index.ts +22 -22
- package/server/services/workshop/aml/job-orchestrator/process.ts +101 -101
- package/server/services/workshop/aml/job-orchestrator/shared.ts +53 -53
- package/server/services/workshop/aml/job-orchestrator/status.ts +20 -20
- package/server/services/workshop/aml/job-orchestrator/tick.ts +37 -37
- package/server/services/workshop/aml/python/__pycache__/aml_eval.cpython-312.pyc +0 -0
- package/server/services/workshop/aml/python/__pycache__/amlkit.cpython-312.pyc +0 -0
- package/server/services/workshop/aml/python/__pycache__/train-example.cpython-312.pyc +0 -0
- package/server/services/workshop/aml/python/__pycache__/train-hybrid-example.cpython-312.pyc +0 -0
- package/server/services/workshop/aml/python/train-example.py +92 -92
- package/server/services/workshop/aml/runtime.ts +137 -137
- package/server/services/workshop/aml/stats.ts +140 -140
- package/server/services/workshop/aml/twin/calibration-worker.ts +150 -150
- package/server/services/workshop/aml/twin/channel-profile.ts +12 -8
- package/server/services/workshop/aml/twin/model-backed-provider.ts +332 -332
- package/server/services/workshop/aml/twin/physics-spec-draft.ts +185 -185
- package/server/services/workshop/aml/twin/prompt-composer.ts +143 -143
- package/server/services/workshop/aml/twin/training-plans.ts +260 -260
- package/server/services/workshop/aml/twin/write-guard.ts +19 -19
- package/server/services/workshop/assets/character-asset.repo.ts +1 -1
- package/server/services/workshop/assets/device-twin.repo.ts +1 -1
- package/server/services/workshop/daq/bus/index.ts +12 -5
- package/server/services/workshop/daq/daq-controller/contracts.ts +39 -39
- package/server/services/workshop/daq/daq-controller/driver-probe.ts +7 -4
- package/server/services/workshop/daq/daq-controller/facade.ts +28 -28
- package/server/services/workshop/daq/daq-controller/frames.ts +137 -137
- package/server/services/workshop/daq/daq-controller/helpers.ts +52 -52
- package/server/services/workshop/daq/daq-controller/index.ts +22 -22
- package/server/services/workshop/daq/daq-controller/ingest.ts +9 -10
- package/server/services/workshop/daq/daq-controller/push.ts +336 -0
- package/server/services/workshop/daq/daq-controller/runtime-control.ts +2 -0
- package/server/services/workshop/daq/daq-controller/state.ts +11 -3
- package/server/services/workshop/daq/daq-controller/sweep-alarms.ts +10 -2
- package/server/services/workshop/daq/daq-controller/tsdb-row.ts +48 -0
- package/server/services/workshop/daq/daq-controller/tsdb-twin.ts +4 -1
- package/server/services/workshop/daq/daq-controller/views.ts +5 -2
- package/server/services/workshop/daq/decoders.ts +77 -0
- package/server/services/workshop/daq/drivers/http.ts +33 -6
- package/server/services/workshop/daq/drivers/index.ts +3 -3
- package/server/services/workshop/daq/drivers/mock.ts +130 -130
- package/server/services/workshop/daq/drivers/modbus-rtu.ts +67 -67
- package/server/services/workshop/daq/drivers/modbus-tcp.ts +307 -307
- package/server/services/workshop/daq/drivers/mqtt-decode.ts +292 -0
- package/server/services/workshop/daq/drivers/mqtt.ts +417 -94
- package/server/services/workshop/daq/drivers/opcua.ts +227 -227
- package/server/services/workshop/daq/drivers/s7-stub.ts +29 -29
- package/server/services/workshop/daq/drivers/shared.ts +30 -1
- package/server/services/workshop/daq/export-limits.ts +38 -0
- package/server/services/workshop/daq/frames.ts +8 -2
- package/server/services/workshop/daq/host-bindings.ts +71 -71
- package/server/services/workshop/daq/host-ports.ts +65 -65
- package/server/services/workshop/daq/plugin-bridge.ts +24 -2
- package/server/services/workshop/daq/storage/latest-window.ts +132 -0
- package/server/services/workshop/db/aml-team-seeds.ts +118 -118
- package/server/services/workshop/db/backup-registry.ts +33 -33
- package/server/services/workshop/db/channel-member.repo.ts +122 -122
- package/server/services/workshop/db/channel.repo.ts +203 -203
- package/server/services/workshop/db/chat-message.repo.ts +233 -233
- package/server/services/workshop/db/database/index.ts +18 -18
- package/server/services/workshop/db/database/json.ts +14 -14
- package/server/services/workshop/db/database/migrations.ts +8 -0
- package/server/services/workshop/db/database/open.ts +3 -1
- package/server/services/workshop/db/database/schema.ts +1 -0
- package/server/services/workshop/db/database/seed-data.ts +60 -60
- package/server/services/workshop/db/hitl-request.repo.ts +221 -221
- package/server/services/workshop/db/notification.repo.ts +199 -199
- package/server/services/workshop/db/readonly.ts +30 -30
- package/server/services/workshop/db/scheduled-task.repo.ts +235 -235
- package/server/services/workshop/db/transaction.ts +72 -72
- package/server/services/workshop/dcw/dcw-controller/actuation.ts +6 -0
- package/server/services/workshop/dcw/dcw-controller/contracts.ts +16 -16
- package/server/services/workshop/dcw/dcw-controller/control.ts +78 -78
- package/server/services/workshop/dcw/dcw-controller/facade.ts +19 -19
- package/server/services/workshop/dcw/dcw-controller/index.ts +22 -22
- package/server/services/workshop/dcw/dcw-controller/params.ts +97 -97
- package/server/services/workshop/dcw/dcw-controller/products.ts +103 -103
- package/server/services/workshop/dcw/dcw-controller/write-audit.ts +1 -1
- package/server/services/workshop/dcw/dcw-templates.ts +136 -136
- package/server/services/workshop/dcw/drivers/http.ts +41 -15
- package/server/services/workshop/dcw/drivers/mes-rest.ts +14 -51
- package/server/services/workshop/dcw/drivers/mqtt.ts +58 -7
- package/server/services/workshop/dcw/drivers/shared.ts +3 -0
- package/server/services/workshop/dcw/param-conversion.ts +78 -78
- package/server/services/workshop/dcw/param-map.repo.ts +349 -349
- package/server/services/workshop/dcw/plugin-bridge.ts +45 -45
- package/server/services/workshop/dcw/recipe-rollback-manager/contracts.ts +26 -26
- package/server/services/workshop/dcw/recipe-rollback-manager/facade.ts +13 -13
- package/server/services/workshop/dcw/recipe-rollback-manager/helpers.ts +30 -30
- package/server/services/workshop/dcw/recipe-rollback-manager/index.ts +17 -17
- package/server/services/workshop/dcw/recipe-rollback-manager/internal.ts +33 -33
- package/server/services/workshop/dcw/recipe-rollback-manager/judge.ts +52 -52
- package/server/services/workshop/dcw/recipe-rollback-manager/lock.ts +137 -137
- package/server/services/workshop/dcw/recipe-rollback-manager/rollback.ts +190 -190
- package/server/services/workshop/dcw/recipe-rollback-manager/state.ts +21 -21
- package/server/services/workshop/dcw/recipe-rollback-manager/sweep.ts +77 -77
- package/server/services/workshop/dcw/recipe-rollback-manager/types.ts +3 -3
- package/server/services/workshop/dcw/recipe-rollback-manager/views.ts +214 -214
- package/server/services/workshop/eda/chart-repo.ts +19 -2
- package/server/services/workshop/eda/data-export.ts +3 -3
- package/server/services/workshop/eda/data-query.ts +4 -1
- package/server/services/workshop/eda/eda-db.ts +13 -0
- package/server/services/workshop/eda/template-repo.ts +101 -0
- package/server/services/workshop/exp/exp-collector.ts +275 -275
- package/server/services/workshop/exp/exp-state.repo.ts +339 -339
- package/server/services/workshop/mes/mes-controller.ts +1155 -1155
- package/server/services/workshop/mes/mes-hook.ts +567 -567
- package/server/services/workshop/mes/mes-secrets.repo.ts +119 -0
- package/server/services/workshop/net/secret-auth.ts +84 -0
- package/server/services/workshop/net/ssrf.ts +74 -0
- package/server/services/workshop/ontology/subgraph.core.ts +300 -300
- package/server/services/workshop/ontology/subgraph.service.ts +113 -113
- package/server/services/workshop/optimization/access.ts +24 -30
- package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.json +1 -0
- package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.mvjqkcs6-68688-fb7131a89c.baseline/190a6772a4e43801737b4ba6072eb9d53d3099b5d8a9e6f57bc5e8592a26a6c4.source +274 -0
- package/server/services/workshop/optimization/python/.mimosa/hook-status/session_187ec97f45d4bd02369bbe94da527cf1-01ed7f04fa.json +14 -0
- package/server/services/workshop/optimization/python/__pycache__/problems.cpython-312.pyc +0 -0
- package/server/services/workshop/plugins/host/api.mjs +90 -90
- package/server/services/workshop/plugins/host/config.mjs +135 -135
- package/server/services/workshop/plugins/host/index.mjs +23 -23
- package/server/services/workshop/plugins/host/init.mjs +109 -109
- package/server/services/workshop/plugins/host/load.mjs +14 -1
- package/server/services/workshop/plugins/host/reload.mjs +6 -0
- package/server/services/workshop/plugins/host/rollback.mjs +72 -72
- package/server/services/workshop/plugins/host/state.mjs +54 -54
- package/server/services/workshop/plugins/host/toggle.mjs +64 -64
- package/server/services/workshop/plugins/host.mjs +9 -9
- package/server/services/workshop/prompts/loader.ts +45 -8
- package/server/services/workshop/runtime/agent-runtime/facade.ts +7 -7
- package/server/services/workshop/runtime/agent-runtime/helpers.ts +18 -18
- package/server/services/workshop/runtime/agent-runtime/index.ts +19 -19
- package/server/services/workshop/runtime/agent-runtime/lifecycle.ts +137 -137
- package/server/services/workshop/runtime/chat-mention.ts +164 -164
- package/server/services/workshop/runtime/chat-projection.ts +246 -246
- package/server/services/workshop/runtime/manager/admin-agents.ts +268 -268
- package/server/services/workshop/runtime/manager/admin-channel.ts +5 -0
- package/server/services/workshop/runtime/manager/bus.ts +182 -182
- package/server/services/workshop/runtime/manager/channel-template-constants.ts +20 -20
- package/server/services/workshop/runtime/manager/chat-reply.ts +181 -181
- package/server/services/workshop/runtime/manager/chat.ts +384 -384
- package/server/services/workshop/runtime/manager/facade.ts +24 -24
- package/server/services/workshop/runtime/manager/helpers.ts +119 -119
- package/server/services/workshop/runtime/manager/index.ts +42 -42
- package/server/services/workshop/runtime/manager/internal.ts +73 -73
- package/server/services/workshop/runtime/manager/notifications.ts +108 -108
- package/server/services/workshop/runtime/manager/teams.ts +148 -148
- package/server/services/workshop/runtime/memory/contracts.ts +18 -18
- package/server/services/workshop/runtime/memory/facade.ts +10 -10
- package/server/services/workshop/runtime/memory/helpers.ts +196 -196
- package/server/services/workshop/runtime/memory/index.ts +27 -27
- package/server/services/workshop/runtime/memory/score.ts +33 -33
- package/server/services/workshop/runtime/memory/state.ts +40 -40
- package/server/services/workshop/runtime/monitor.ts +3 -3
- package/server/services/workshop/runtime/platform-notice.ts +113 -113
- package/server/services/workshop/runtime/schedule-runtime.ts +347 -347
- package/server/services/workshop/runtime/scheduler-loop/contracts.ts +29 -29
- package/server/services/workshop/runtime/scheduler-loop/facade.ts +7 -7
- package/server/services/workshop/runtime/scheduler-loop/helpers.ts +14 -14
- package/server/services/workshop/runtime/scheduler-loop/index.ts +16 -16
- package/server/services/workshop/runtime/task-engine/facade.ts +7 -7
- package/server/services/workshop/runtime/task-engine/index.ts +15 -15
- package/server/services/workshop/runtime/task-engine/types.ts +3 -3
- package/server/services/workshop/runtime/user-notification-hub.ts +192 -192
- package/server/services/workshop/tools/types.ts +1 -0
- package/server/types/pg.d.ts +49 -49
- package/server/utils/approval-gate.ts +67 -67
- package/server/utils/mojibake-guard.ts +29 -29
- package/server/utils/stability-severity.ts +77 -77
- package/shared/config/groups.mjs +241 -241
- package/shared/config/schema.json +2 -0
- package/shared/daq-protocol.ts +30 -2
- package/shared/dcw-protocol/catalog.ts +15 -3
- package/shared/dcw-protocol/closed-loop.ts +2 -0
- package/shared/lru.mjs +97 -97
- package/tui/README.md +74 -74
- package/tui/aw-tui.mjs +445 -445
- package/tui/commands/index.mjs +287 -287
- package/tui/components/chat-log.mjs +42 -42
- package/tui/components/monitor-pane.mjs +39 -39
- package/tui/components/root.mjs +53 -53
- package/tui/components/status-bar.mjs +33 -33
- package/tui/lib/api.mjs +82 -82
- package/tui/lib/pickers.mjs +121 -121
- package/tui/lib/reducers.mjs +218 -218
- package/tui/lib/state.mjs +86 -86
- package/tui/lib/virtual-terminal.mjs +48 -48
- package/tui/lib/ws.mjs +125 -125
- package/tui/theme.mjs +38 -38
- package/.output/public/_nuxt/0qvcO_KM2.js +0 -1
- package/.output/public/_nuxt/2Kwo_j9G2.js +0 -1
- package/.output/public/_nuxt/39W1CH-l2.js +0 -1
- package/.output/public/_nuxt/7xbYPfY6.js +0 -1
- package/.output/public/_nuxt/8SZLbrI42.js +0 -1
- package/.output/public/_nuxt/ATAvN55g.js +0 -1
- package/.output/public/_nuxt/B3eCVqcT2.js +0 -1
- package/.output/public/_nuxt/B4JlRHBB2.js +0 -1
- package/.output/public/_nuxt/B9qIhT7k2.js +0 -1
- package/.output/public/_nuxt/BE9oKpOt.js +0 -1
- package/.output/public/_nuxt/BVGzwAxr2.js +0 -16
- package/.output/public/_nuxt/BY3Lbz3h.js +0 -1
- package/.output/public/_nuxt/BbACaREb.js +0 -1
- package/.output/public/_nuxt/Bbk1XCCM.js +0 -14
- package/.output/public/_nuxt/BcosvNXb2.js +0 -1
- package/.output/public/_nuxt/BiZWwdcD2.js +0 -1
- package/.output/public/_nuxt/Bq-tmkst.js +0 -1
- package/.output/public/_nuxt/BxxpJxZf2.js +0 -1
- package/.output/public/_nuxt/C1-SuwUN.js +0 -1
- package/.output/public/_nuxt/C2Yp-B8m.js +0 -1
- package/.output/public/_nuxt/C5OStZJ62.js +0 -1
- package/.output/public/_nuxt/CDL30A2z2.js +0 -1
- package/.output/public/_nuxt/CEvJu-xI.js +0 -1
- package/.output/public/_nuxt/CMzExk8F.js +0 -1
- package/.output/public/_nuxt/CT4bi_Y4.js +0 -1
- package/.output/public/_nuxt/CZYNy60j2.js +0 -1
- package/.output/public/_nuxt/CeCSjB9O2.js +0 -1
- package/.output/public/_nuxt/CjF4QY9h.js +0 -1
- package/.output/public/_nuxt/Cot5VNae.js +0 -1
- package/.output/public/_nuxt/Crf8_Ad02.js +0 -1
- package/.output/public/_nuxt/D1C6qtS12.js +0 -1
- package/.output/public/_nuxt/D37gODe0.js +0 -1
- package/.output/public/_nuxt/D6FhDrYe2.js +0 -1
- package/.output/public/_nuxt/D8HQPtm62.js +0 -1
- package/.output/public/_nuxt/D9O4L4jK.js +0 -1
- package/.output/public/_nuxt/D9tNM-1a.js +0 -9
- package/.output/public/_nuxt/DAug2CPf.js +0 -21
- package/.output/public/_nuxt/DF9ETYJ32.js +0 -1
- package/.output/public/_nuxt/DWe6BMlp2.js +0 -1
- package/.output/public/_nuxt/DbhTN7-T.js +0 -47
- package/.output/public/_nuxt/DdyE0ylS.js +0 -1
- package/.output/public/_nuxt/DgGzwjAr2.js +0 -2
- package/.output/public/_nuxt/DhjgWrB62.js +0 -1
- package/.output/public/_nuxt/DiWcX4gj.js +0 -1
- package/.output/public/_nuxt/DkRozlDP2.js +0 -1
- package/.output/public/_nuxt/DlS-SkQ42.js +0 -1
- package/.output/public/_nuxt/DmHp9yQ3.js +0 -1
- package/.output/public/_nuxt/DoChWkff.js +0 -1
- package/.output/public/_nuxt/DqxBCeDe.js +0 -1
- package/.output/public/_nuxt/DrlnrdvY2.js +0 -36
- package/.output/public/_nuxt/DxH5focQ2.js +0 -1
- package/.output/public/_nuxt/Dyr3LPGL.js +0 -1
- package/.output/public/_nuxt/FsRVXpyF2.js +0 -1
- package/.output/public/_nuxt/Iub61dX9.js +0 -1
- package/.output/public/_nuxt/MC_i34H42.js +0 -1
- package/.output/public/_nuxt/OmpTerminalPanel.DMWgGwDs.css +0 -1
- package/.output/public/_nuxt/PluginSlot.BqBzLD4T.css +0 -1
- package/.output/public/_nuxt/Q-JpBT03.js +0 -1
- package/.output/public/_nuxt/TownView.Cn8SPG7S.css +0 -1
- package/.output/public/_nuxt/TugRY_4O.js +0 -1
- package/.output/public/_nuxt/WybiLTow2.js +0 -8
- package/.output/public/_nuxt/YNhAoK-R2.js +0 -1
- package/.output/public/_nuxt/Zn0BZpf0.js +0 -3
- package/.output/public/_nuxt/_id_.Be5JaH-P.css +0 -1
- package/.output/public/_nuxt/_wsId_.p_vAYtTp.css +0 -1
- package/.output/public/_nuxt/agents.CRomddYR.css +0 -1
- package/.output/public/_nuxt/aml.DgOMpDpv.css +0 -1
- package/.output/public/_nuxt/b7UcqLKi.js +0 -1
- package/.output/public/_nuxt/board.Bo35UR0e.css +0 -1
- package/.output/public/_nuxt/builds/meta/fd0033e4-1eaa-42f8-9a04-3132717a703b.json +0 -1
- package/.output/public/_nuxt/default.CpAx70gC.css +0 -1
- package/.output/public/_nuxt/entry.C7koBPom.css +0 -1
- package/.output/public/_nuxt/geMze5qw.js +0 -1
- package/.output/public/_nuxt/hCN555XP2.js +0 -1
- package/.output/public/_nuxt/hlfahYxK.js +0 -1
- package/.output/public/_nuxt/logs.DcSvz6vi.css +0 -1
- package/.output/public/_nuxt/monitor.OoNTwfMJ.css +0 -1
- package/.output/public/_nuxt/ontology.JqJ6PjV1.css +0 -1
- package/.output/public/_nuxt/operations.C48ggFa5.css +0 -1
- package/.output/public/_nuxt/pages.Dpa28tJW.css +0 -1
- package/.output/public/_nuxt/permissions.CrV-4t-6.css +0 -1
- package/.output/public/_nuxt/rcdmiszh2.js +0 -1
- package/.output/public/_nuxt/schedules.DYWOjGHm.css +0 -1
- package/.output/public/_nuxt/studio.CjmUr8P7.css +0 -1
- package/.output/public/_nuxt/teams.DEJoJ4QV.css +0 -1
- package/.output/public/_nuxt/toG_qAMH.js +0 -1
- package/.output/public/_nuxt/tokens.DKZWCP5v.css +0 -1
- package/.output/public/_nuxt/tools.DP-nsTli.css +0 -1
- package/.output/public/_nuxt/uomnHjhM.js +0 -1
- package/.output/public/_nuxt/v77qozuJ2.js +0 -1
- package/.output/public/_nuxt/v7cV7hJa.js +0 -1
- package/.output/public/_nuxt/wK6Pp4Zc2.js +0 -2
- package/.output/public/_nuxt/we7-sMSo2.js +0 -1
- package/.output/public/_nuxt/workshop.PT1xhP8C.css +0 -1
- package/.output/public/_nuxt/wxISMS1i.js +0 -1
- package/.output/public/_nuxt/zy7efYKR.js +0 -1
- package/.output/server/chunks/build/AuthGate-G74Wr5IV.mjs +0 -704
- package/.output/server/chunks/build/AuthGate-G74Wr5IV.mjs.map +0 -1
- package/.output/server/chunks/build/FormItemContext-DmuQqaeJ.mjs +0 -77
- package/.output/server/chunks/build/FormItemContext-DmuQqaeJ.mjs.map +0 -1
- package/.output/server/chunks/build/OmpTerminalPanel-5cB-78zp.mjs +0 -889
- package/.output/server/chunks/build/OmpTerminalPanel-5cB-78zp.mjs.map +0 -1
- package/.output/server/chunks/build/PluginSlot-CZlGlRoR.mjs +0 -131
- package/.output/server/chunks/build/PluginSlot-CZlGlRoR.mjs.map +0 -1
- package/.output/server/chunks/build/TownView-CUbzOT_M.mjs +0 -5960
- package/.output/server/chunks/build/TownView-CUbzOT_M.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BHWZiRQZ.mjs +0 -373
- package/.output/server/chunks/build/_id_-BHWZiRQZ.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-JaGx0yBE.mjs +0 -1922
- package/.output/server/chunks/build/_id_-JaGx0yBE.mjs.map +0 -1
- package/.output/server/chunks/build/_wsId_-C4DKkEqv.mjs +0 -13707
- package/.output/server/chunks/build/_wsId_-C4DKkEqv.mjs.map +0 -1
- package/.output/server/chunks/build/agents-DRod4lTC.mjs +0 -1047
- package/.output/server/chunks/build/agents-DRod4lTC.mjs.map +0 -1
- package/.output/server/chunks/build/alert-CNGhs--Y.mjs +0 -260
- package/.output/server/chunks/build/alert-CNGhs--Y.mjs.map +0 -1
- package/.output/server/chunks/build/aml-B3Umz4DR.mjs +0 -729
- package/.output/server/chunks/build/aml-B3Umz4DR.mjs.map +0 -1
- package/.output/server/chunks/build/analysis-tNpFLtMt.mjs +0 -502
- package/.output/server/chunks/build/analysis-tNpFLtMt.mjs.map +0 -1
- package/.output/server/chunks/build/api-D-zkgkj-.mjs +0 -51
- package/.output/server/chunks/build/api-D-zkgkj-.mjs.map +0 -1
- package/.output/server/chunks/build/api-D3gy2e2q.mjs +0 -70
- package/.output/server/chunks/build/api-D3gy2e2q.mjs.map +0 -1
- package/.output/server/chunks/build/api-bn4OKkl_.mjs +0 -62
- package/.output/server/chunks/build/api-bn4OKkl_.mjs.map +0 -1
- package/.output/server/chunks/build/api-error-CnW_xiNI.mjs +0 -46
- package/.output/server/chunks/build/api-error-CnW_xiNI.mjs.map +0 -1
- package/.output/server/chunks/build/apiClient-DIXx9sfD.mjs +0 -70
- package/.output/server/chunks/build/apiClient-DIXx9sfD.mjs.map +0 -1
- package/.output/server/chunks/build/board-B2oYXGBy.mjs +0 -172
- package/.output/server/chunks/build/board-B2oYXGBy.mjs.map +0 -1
- package/.output/server/chunks/build/card-BECE6y_G.mjs +0 -922
- package/.output/server/chunks/build/card-BECE6y_G.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-R2TInv8B.mjs +0 -950
- package/.output/server/chunks/build/channel-templates-R2TInv8B.mjs.map +0 -1
- package/.output/server/chunks/build/checkbox-C6xY5uc6.mjs +0 -429
- package/.output/server/chunks/build/checkbox-C6xY5uc6.mjs.map +0 -1
- package/.output/server/chunks/build/client-only-S7k53PIm.mjs +0 -42
- package/.output/server/chunks/build/client-only-S7k53PIm.mjs.map +0 -1
- package/.output/server/chunks/build/core-CRlsQhzd.mjs +0 -292
- package/.output/server/chunks/build/core-CRlsQhzd.mjs.map +0 -1
- package/.output/server/chunks/build/daq-DHsYtWC-.mjs +0 -1210
- package/.output/server/chunks/build/daq-DHsYtWC-.mjs.map +0 -1
- package/.output/server/chunks/build/data-Cl4wRZO6.mjs +0 -459
- package/.output/server/chunks/build/data-Cl4wRZO6.mjs.map +0 -1
- package/.output/server/chunks/build/dcw-DnjOM6p1.mjs +0 -467
- package/.output/server/chunks/build/dcw-DnjOM6p1.mjs.map +0 -1
- package/.output/server/chunks/build/default-DDRKP2Mb.mjs +0 -2246
- package/.output/server/chunks/build/default-DDRKP2Mb.mjs.map +0 -1
- package/.output/server/chunks/build/descriptions-B3uhDesi.mjs +0 -401
- package/.output/server/chunks/build/descriptions-B3uhDesi.mjs.map +0 -1
- package/.output/server/chunks/build/drawer-DwXxapMg.mjs +0 -822
- package/.output/server/chunks/build/drawer-DwXxapMg.mjs.map +0 -1
- package/.output/server/chunks/build/dropdown-DLrGy-Fs.mjs +0 -12
- package/.output/server/chunks/build/dropdown-DLrGy-Fs.mjs.map +0 -1
- package/.output/server/chunks/build/dropdown-nsGv8Gqx.mjs +0 -530
- package/.output/server/chunks/build/dropdown-nsGv8Gqx.mjs.map +0 -1
- package/.output/server/chunks/build/es-DXSEkmAm.mjs +0 -42
- package/.output/server/chunks/build/es-DXSEkmAm.mjs.map +0 -1
- package/.output/server/chunks/build/firstNotUndefined-laiThpLD.mjs +0 -2082
- package/.output/server/chunks/build/firstNotUndefined-laiThpLD.mjs.map +0 -1
- package/.output/server/chunks/build/form-Cw2Ex9w5.mjs +0 -3543
- package/.output/server/chunks/build/form-Cw2Ex9w5.mjs.map +0 -1
- package/.output/server/chunks/build/hasIn-RYRGomyg.mjs +0 -192
- package/.output/server/chunks/build/hasIn-RYRGomyg.mjs.map +0 -1
- package/.output/server/chunks/build/hitl-B4cHRlkC.mjs +0 -120
- package/.output/server/chunks/build/hitl-B4cHRlkC.mjs.map +0 -1
- package/.output/server/chunks/build/input-CJgB-RL6.mjs +0 -1705
- package/.output/server/chunks/build/input-CJgB-RL6.mjs.map +0 -1
- package/.output/server/chunks/build/input-number-CQKL42p_.mjs +0 -1027
- package/.output/server/chunks/build/input-number-CQKL42p_.mjs.map +0 -1
- package/.output/server/chunks/build/interval-DiAUqODq.mjs +0 -8
- package/.output/server/chunks/build/interval-DiAUqODq.mjs.map +0 -1
- package/.output/server/chunks/build/isNumeric-DQiJ-b15.mjs +0 -6
- package/.output/server/chunks/build/isNumeric-DQiJ-b15.mjs.map +0 -1
- package/.output/server/chunks/build/logs-C4vKFkHQ.mjs +0 -381
- package/.output/server/chunks/build/logs-C4vKFkHQ.mjs.map +0 -1
- package/.output/server/chunks/build/menu-xO8ocVtL.mjs +0 -1833
- package/.output/server/chunks/build/menu-xO8ocVtL.mjs.map +0 -1
- package/.output/server/chunks/build/monitor-BNrG6v3b.mjs +0 -2216
- package/.output/server/chunks/build/monitor-BNrG6v3b.mjs.map +0 -1
- package/.output/server/chunks/build/ontology-B_0Vm6j-.mjs +0 -1416
- package/.output/server/chunks/build/ontology-B_0Vm6j-.mjs.map +0 -1
- package/.output/server/chunks/build/operations-D8D6-Jm-.mjs +0 -278
- package/.output/server/chunks/build/operations-D8D6-Jm-.mjs.map +0 -1
- package/.output/server/chunks/build/optimizer-DaTyaY3c.mjs +0 -202
- package/.output/server/chunks/build/optimizer-DaTyaY3c.mjs.map +0 -1
- package/.output/server/chunks/build/pages-Dac4icQC.mjs +0 -439
- package/.output/server/chunks/build/pages-Dac4icQC.mjs.map +0 -1
- package/.output/server/chunks/build/pagination-BTzq7dD5.mjs +0 -1330
- package/.output/server/chunks/build/pagination-BTzq7dD5.mjs.map +0 -1
- package/.output/server/chunks/build/permissions-qmimwB0M.mjs +0 -649
- package/.output/server/chunks/build/permissions-qmimwB0M.mjs.map +0 -1
- package/.output/server/chunks/build/plugins-Dh_goy-k.mjs +0 -269
- package/.output/server/chunks/build/plugins-Dh_goy-k.mjs.map +0 -1
- package/.output/server/chunks/build/popconfirm-DuGF7ty-.mjs +0 -333
- package/.output/server/chunks/build/popconfirm-DuGF7ty-.mjs.map +0 -1
- package/.output/server/chunks/build/responsiveObserve-CzRpNXkr.mjs +0 -77
- package/.output/server/chunks/build/responsiveObserve-CzRpNXkr.mjs.map +0 -1
- package/.output/server/chunks/build/schedules-C2_x38gj.mjs +0 -7039
- package/.output/server/chunks/build/schedules-C2_x38gj.mjs.map +0 -1
- package/.output/server/chunks/build/segmented-29uEKZ3D.mjs +0 -332
- package/.output/server/chunks/build/segmented-29uEKZ3D.mjs.map +0 -1
- package/.output/server/chunks/build/select-CJb2XrQf.mjs +0 -3734
- package/.output/server/chunks/build/select-CJb2XrQf.mjs.map +0 -1
- package/.output/server/chunks/build/settings-Cz2Plds0.mjs +0 -944
- package/.output/server/chunks/build/settings-Cz2Plds0.mjs.map +0 -1
- package/.output/server/chunks/build/space-BByD-mFE.mjs +0 -107
- package/.output/server/chunks/build/space-BByD-mFE.mjs.map +0 -1
- package/.output/server/chunks/build/spin-XhbgGeLP.mjs +0 -313
- package/.output/server/chunks/build/spin-XhbgGeLP.mjs.map +0 -1
- package/.output/server/chunks/build/studio-CwYXl00G.mjs +0 -329
- package/.output/server/chunks/build/studio-CwYXl00G.mjs.map +0 -1
- package/.output/server/chunks/build/switch-DWcwVFxW.mjs +0 -374
- package/.output/server/chunks/build/switch-DWcwVFxW.mjs.map +0 -1
- package/.output/server/chunks/build/table-Zhuo7Fq-.mjs +0 -7249
- package/.output/server/chunks/build/table-Zhuo7Fq-.mjs.map +0 -1
- package/.output/server/chunks/build/tabs-BCwBXjNt.mjs +0 -1838
- package/.output/server/chunks/build/tabs-BCwBXjNt.mjs.map +0 -1
- package/.output/server/chunks/build/tag-CRW-anwy.mjs +0 -1010
- package/.output/server/chunks/build/tag-CRW-anwy.mjs.map +0 -1
- package/.output/server/chunks/build/teams-CwhFdcYn.mjs +0 -1160
- package/.output/server/chunks/build/teams-CwhFdcYn.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-C5ODO1HA.mjs +0 -992
- package/.output/server/chunks/build/tokens-C5ODO1HA.mjs.map +0 -1
- package/.output/server/chunks/build/tools-C0YKragH.mjs +0 -487
- package/.output/server/chunks/build/tools-C0YKragH.mjs.map +0 -1
- package/.output/server/chunks/build/tooltip-GlMrUZzx.mjs +0 -888
- package/.output/server/chunks/build/tooltip-GlMrUZzx.mjs.map +0 -1
- package/.output/server/chunks/build/town-LkDwWnKA.mjs +0 -117
- package/.output/server/chunks/build/town-LkDwWnKA.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentHarnessOptions-CYKuLtZ2.mjs +0 -120
- package/.output/server/chunks/build/useAgentHarnessOptions-CYKuLtZ2.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentTemplateActions-Da_V1LSD.mjs +0 -71
- package/.output/server/chunks/build/useAgentTemplateActions-Da_V1LSD.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentTemplateForm-BWvax5_E.mjs +0 -112
- package/.output/server/chunks/build/useAgentTemplateForm-BWvax5_E.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentTemplatesCatalog-BnYjZy59.mjs +0 -140
- package/.output/server/chunks/build/useAgentTemplatesCatalog-BnYjZy59.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlDatasets-nGi10DAl.mjs +0 -88
- package/.output/server/chunks/build/useAmlDatasets-nGi10DAl.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlEntities-CTgNAgcZ.mjs +0 -79
- package/.output/server/chunks/build/useAmlEntities-CTgNAgcZ.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlEnv-Da2TVfyK.mjs +0 -188
- package/.output/server/chunks/build/useAmlEnv-Da2TVfyK.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlExperiments-U9AQ52RI.mjs +0 -86
- package/.output/server/chunks/build/useAmlExperiments-U9AQ52RI.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlJobs-BM1mu5iH.mjs +0 -251
- package/.output/server/chunks/build/useAmlJobs-BM1mu5iH.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlModels-C1DwIOMi.mjs +0 -90
- package/.output/server/chunks/build/useAmlModels-C1DwIOMi.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlNotes-CNm47QdS.mjs +0 -80
- package/.output/server/chunks/build/useAmlNotes-CNm47QdS.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlPredict-m8I1AdRn.mjs +0 -126
- package/.output/server/chunks/build/useAmlPredict-m8I1AdRn.mjs.map +0 -1
- package/.output/server/chunks/build/useAnalysisFeed-CpbOaiBD.mjs +0 -120
- package/.output/server/chunks/build/useAnalysisFeed-CpbOaiBD.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqAddNode-CRorxgOY.mjs +0 -141
- package/.output/server/chunks/build/useDaqAddNode-CRorxgOY.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailBinding-Ck-YUW9J.mjs +0 -72
- package/.output/server/chunks/build/useDaqDetailBinding-Ck-YUW9J.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailFrames-CLMoreaz.mjs +0 -78
- package/.output/server/chunks/build/useDaqDetailFrames-CLMoreaz.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailHistory-BVNQXwC_.mjs +0 -166
- package/.output/server/chunks/build/useDaqDetailHistory-BVNQXwC_.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailNode-BC0e9OfX.mjs +0 -103
- package/.output/server/chunks/build/useDaqDetailNode-BC0e9OfX.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailParams-D173iwFg.mjs +0 -157
- package/.output/server/chunks/build/useDaqDetailParams-D173iwFg.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqFilters-CC-o_21d.mjs +0 -224
- package/.output/server/chunks/build/useDaqFilters-CC-o_21d.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqOptimizations-4vK2w1yn.mjs +0 -132
- package/.output/server/chunks/build/useDaqOptimizations-4vK2w1yn.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqStream-BHKpSJFd.mjs +0 -385
- package/.output/server/chunks/build/useDaqStream-BHKpSJFd.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqTemplates-CsXSc7yI.mjs +0 -181
- package/.output/server/chunks/build/useDaqTemplates-CsXSc7yI.mjs.map +0 -1
- package/.output/server/chunks/build/useDashboardData-DuKjuJTz.mjs +0 -139
- package/.output/server/chunks/build/useDashboardData-DuKjuJTz.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwAddNode-C5DcxsHF.mjs +0 -217
- package/.output/server/chunks/build/useDcwAddNode-C5DcxsHF.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwCards-0bAVo6uB.mjs +0 -64
- package/.output/server/chunks/build/useDcwCards-0bAVo6uB.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwDetailScope-BNFOlt2v.mjs +0 -184
- package/.output/server/chunks/build/useDcwDetailScope-BNFOlt2v.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwDetailTemplates-DSH-o0tE.mjs +0 -143
- package/.output/server/chunks/build/useDcwDetailTemplates-DSH-o0tE.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwFilter-W61BFUcT.mjs +0 -65
- package/.output/server/chunks/build/useDcwFilter-W61BFUcT.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwLedger-DsColLdc.mjs +0 -73
- package/.output/server/chunks/build/useDcwLedger-DsColLdc.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwLineMutations-Cx4Ir7g3.mjs +0 -133
- package/.output/server/chunks/build/useDcwLineMutations-Cx4Ir7g3.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwLineRun-DQ0vB08z.mjs +0 -100
- package/.output/server/chunks/build/useDcwLineRun-DQ0vB08z.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwParamApprovals-CYspRuDk.mjs +0 -119
- package/.output/server/chunks/build/useDcwParamApprovals-CYspRuDk.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwProducts-CTbm_5S_.mjs +0 -88
- package/.output/server/chunks/build/useDcwProducts-CTbm_5S_.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwQuery-E0yjZs7G.mjs +0 -93
- package/.output/server/chunks/build/useDcwQuery-E0yjZs7G.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwQuickActions-BvT5VFOY.mjs +0 -84
- package/.output/server/chunks/build/useDcwQuickActions-BvT5VFOY.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwRecipes-zngShyk0.mjs +0 -263
- package/.output/server/chunks/build/useDcwRecipes-zngShyk0.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwStream-82IdjJKk.mjs +0 -455
- package/.output/server/chunks/build/useDcwStream-82IdjJKk.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwTemplates-CpHrcnvJ.mjs +0 -87
- package/.output/server/chunks/build/useDcwTemplates-CpHrcnvJ.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwWrites-BlOhljp9.mjs +0 -136
- package/.output/server/chunks/build/useDcwWrites-BlOhljp9.mjs.map +0 -1
- package/.output/server/chunks/build/useDeviceTwins-DL-VLFeX.mjs +0 -118
- package/.output/server/chunks/build/useDeviceTwins-DL-VLFeX.mjs.map +0 -1
- package/.output/server/chunks/build/useExpConfirmations-DgwqTb9O.mjs +0 -104
- package/.output/server/chunks/build/useExpConfirmations-DgwqTb9O.mjs.map +0 -1
- package/.output/server/chunks/build/useLocalTime-C__kwn8h.mjs +0 -52
- package/.output/server/chunks/build/useLocalTime-C__kwn8h.mjs.map +0 -1
- package/.output/server/chunks/build/useLogsManual-BcfanT0s.mjs +0 -80
- package/.output/server/chunks/build/useLogsManual-BcfanT0s.mjs.map +0 -1
- package/.output/server/chunks/build/useLogsQuery-BGlKVKpV.mjs +0 -136
- package/.output/server/chunks/build/useLogsQuery-BGlKVKpV.mjs.map +0 -1
- package/.output/server/chunks/build/useLogsScope-BRyy550Y.mjs +0 -75
- package/.output/server/chunks/build/useLogsScope-BRyy550Y.mjs.map +0 -1
- package/.output/server/chunks/build/useMonitorData-BUey2Xly.mjs +0 -128
- package/.output/server/chunks/build/useMonitorData-BUey2Xly.mjs.map +0 -1
- package/.output/server/chunks/build/useMonitorFormat-rhs7FlNo.mjs +0 -77
- package/.output/server/chunks/build/useMonitorFormat-rhs7FlNo.mjs.map +0 -1
- package/.output/server/chunks/build/useOperationsFeed-DWfCjP4l.mjs +0 -182
- package/.output/server/chunks/build/useOperationsFeed-DWfCjP4l.mjs.map +0 -1
- package/.output/server/chunks/build/useOpsLog--yf8erUi.mjs +0 -139
- package/.output/server/chunks/build/useOpsLog--yf8erUi.mjs.map +0 -1
- package/.output/server/chunks/build/useRecipeDispatchApprovals-CKF2sB9P.mjs +0 -146
- package/.output/server/chunks/build/useRecipeDispatchApprovals-CKF2sB9P.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamActions-C08sAVqY.mjs +0 -71
- package/.output/server/chunks/build/useTeamActions-C08sAVqY.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamAddMemberDialog-fzTmflr8.mjs +0 -78
- package/.output/server/chunks/build/useTeamAddMemberDialog-fzTmflr8.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamCreateDialog-De63ep-X.mjs +0 -91
- package/.output/server/chunks/build/useTeamCreateDialog-De63ep-X.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamDeployDialog-CpAtG5Jy.mjs +0 -76
- package/.output/server/chunks/build/useTeamDeployDialog-CpAtG5Jy.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamPluginDialog-C1OOe1sL.mjs +0 -99
- package/.output/server/chunks/build/useTeamPluginDialog-C1OOe1sL.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamsCatalog-DA41SMDu.mjs +0 -124
- package/.output/server/chunks/build/useTeamsCatalog-DA41SMDu.mjs.map +0 -1
- package/.output/server/chunks/build/useTokenCreate-XHTQExra.mjs +0 -106
- package/.output/server/chunks/build/useTokenCreate-XHTQExra.mjs.map +0 -1
- package/.output/server/chunks/build/useTokenRename-Cf1B0cRy.mjs +0 -81
- package/.output/server/chunks/build/useTokenRename-Cf1B0cRy.mjs.map +0 -1
- package/.output/server/chunks/build/useTokenReveal-C8n1Vt9t.mjs +0 -108
- package/.output/server/chunks/build/useTokenReveal-C8n1Vt9t.mjs.map +0 -1
- package/.output/server/chunks/build/useTokensList-MMIq24E-.mjs +0 -86
- package/.output/server/chunks/build/useTokensList-MMIq24E-.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkbenchAuth-Dyc_czui.mjs +0 -131
- package/.output/server/chunks/build/useWorkbenchAuth-Dyc_czui.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DT33HbBD.mjs +0 -128
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DT33HbBD.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopApi-BkEgGBIM.mjs +0 -118
- package/.output/server/chunks/build/useWorkshopApi-BkEgGBIM.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopWs-BWrVj4jL.mjs +0 -1577
- package/.output/server/chunks/build/useWorkshopWs-BWrVj4jL.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkspaceAuth-TahC9EC7.mjs +0 -48
- package/.output/server/chunks/build/useWorkspaceAuth-TahC9EC7.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkspaceChannels-BVAHmhN3.mjs +0 -94
- package/.output/server/chunks/build/useWorkspaceChannels-BVAHmhN3.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkspaceShell-rQHWNNWJ.mjs +0 -150
- package/.output/server/chunks/build/useWorkspaceShell-rQHWNNWJ.mjs.map +0 -1
- package/.output/server/chunks/build/users-pVCK50z-.mjs +0 -566
- package/.output/server/chunks/build/users-pVCK50z-.mjs.map +0 -1
- package/.output/server/chunks/build/workshop-DAgsBgG4.mjs +0 -499
- package/.output/server/chunks/build/workshop-DAgsBgG4.mjs.map +0 -1
- package/scripts/_aw-packaged-start.cjs +0 -22
- package/scripts/_i18n-en-cjk-scan.mjs +0 -28
- package/scripts/_i18n-en-verify.mjs +0 -107
- package/scripts/_i18n-extra-checks.mjs +0 -53
- package/scripts/_i18n-scan-hardcoded.mjs +0 -180
- package/scripts/_lib-dcw-line.mjs +0 -24
- package/scripts/_lib-plc-sim-child.mjs +0 -28
- package/scripts/_lint-reflow.mjs +0 -105
- package/scripts/_loop-biax-campaign.mjs +0 -130
- package/scripts/_probe-daq-omp-task.mjs +0 -100
- package/scripts/_probe-daq-scope-default.mjs +0 -123
- package/scripts/_probe-lease.cjs +0 -13
- package/scripts/_probe-model-channel-link.cjs +0 -25
- package/scripts/_probe-recipe-switch.mjs +0 -92
- package/scripts/_probe-task-queue.cjs +0 -9
- package/scripts/build-anime-models.mjs +0 -339
- package/scripts/demo-group-chat-omp-cases.ts +0 -210
- package/scripts/demo-group-chat-omp.ts +0 -184
- package/scripts/demo-group-chat-order.ts +0 -197
- package/scripts/e2e-channel-isolation.ts +0 -329
- package/scripts/e2e-lead-team-mgmt.ts +0 -217
- package/scripts/proof-omp-real.ts +0 -189
- package/scripts/smoke-optimization-verify.ts +0 -72
- package/scripts/test-a2a-types.ts +0 -296
- package/scripts/test-agent-multi-channel.ts +0 -160
- package/scripts/test-agentteam-task-chat-flow.ts +0 -420
- package/scripts/test-channel-routing.ts +0 -301
- package/scripts/test-cli-exit.mjs +0 -343
- package/scripts/test-event-persistence.mjs +0 -177
- package/scripts/test-group-chat-hardening.ts +0 -265
- package/scripts/test-group-chat-unit/section-a-migration.ts +0 -75
- package/scripts/test-group-chat-unit/section-b-permission-matrix.ts +0 -88
- package/scripts/test-group-chat-unit/section-c-member-lifecycle.ts +0 -64
- package/scripts/test-group-chat-unit/section-d-mention-resolution.ts +0 -36
- package/scripts/test-group-chat-unit/section-e-chat-facts.ts +0 -97
- package/scripts/test-group-chat-unit/section-f-user-notifications.ts +0 -52
- package/scripts/test-group-chat-unit/section-g-member-projection.ts +0 -44
- package/scripts/test-group-chat-unit/section-h-outbox-consistency.ts +0 -30
- package/scripts/test-group-chat-unit/section-i-read-idempotency.ts +0 -24
- package/scripts/test-group-chat-unit/section-j-permission-scope.ts +0 -150
- package/scripts/test-hitl-legacy-channel-auth.ts +0 -143
- package/scripts/test-lane-history-live.mjs +0 -126
- package/scripts/test-mcp-tools.ts +0 -285
- package/scripts/test-memory-dynamic.ts +0 -101
- package/scripts/test-memory-month-query.mjs +0 -70
- package/scripts/test-memory.ts +0 -431
- package/scripts/test-route-reason.mjs +0 -118
- package/scripts/test-scheduler-loop/scenarios-modes.ts +0 -95
- package/scripts/test-scheduler-loop/scenarios-runtime.ts +0 -58
- package/scripts/test-scheduler-loop/scenarios-supervise.ts +0 -183
- package/scripts/test-scheduler-loop/scenarios-triage.ts +0 -102
- package/scripts/ui/admin-shots.mjs +0 -46
- package/scripts/ui/bump-microfont.mjs +0 -39
- package/scripts/ui/linkcheck2.mjs +0 -37
- package/scripts/ui/live-render-check.mjs +0 -72
- package/scripts/ui/perf-audit.mjs +0 -132
- package/scripts/ui/sim-ui-shot.mjs +0 -16
- package/scripts/ui/smoke-refactor.mjs +0 -258
- /package/.output/public/_nuxt/{9j2J4k4w2.js → 9j2J4k4w.js} +0 -0
- /package/.output/public/_nuxt/{dVw8IHY6.js → dVw8IHY62.js} +0 -0
- /package/.output/public/_nuxt/{k9b520K-2.js → k9b520K-.js} +0 -0
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{N as e,dt as t,g as n,mt as r,v as i}from"./CavpkQb0.js";import{R as ee,S as te,V as a,W as o,d as ne,f as s,h as c,i as l,it as u,m as d,y as f}from"./C6lssmvl.js";import{c as p,l as m}from"./ri9UF8rk.js";import{n as re}from"./Bko5adbu.js";import{n as ie}from"./D1MkndMZ.js";import{t as h}from"./BDNMzG2s.js";import{t as ae}from"./CNs_Ozdc.js";import{n as g,r as _}from"./k9b520K-2.js";var oe={class:`optimizer-page`},se={class:`aw-page-head`},ce={class:`aw-kicker`},le={class:`sub`},ue={class:`aw-stamp`},de={key:0,class:`banner error`},fe={key:1,class:`banner ok`},pe={class:`tabs`},me=[`onClick`],he={key:2,class:`panel`},ge={class:`grid`},_e={key:0},ve={key:1},ye={key:2},be={class:`hint`},xe={class:`grid var-row`},Se={key:0},v={key:1},y={class:`tbl`},b=[`onClick`],x={key:0,class:`hint`},S={class:`actions`},C=[`disabled`],w=[`disabled`],T=[`disabled`],E={class:`hint`},D={class:`list`},O={class:`mono`},k={key:3,class:`panel`},A={class:`actions`},j=[`disabled`],Ce={class:`list`},we={class:`json`},Te={key:1,class:`hint`},Ee={key:4,class:`panel`},De={class:`grid`},Oe={class:`block`},ke={class:`block`},Ae={class:`hint`},je={class:`actions`},Me=[`disabled`],Ne={class:`tbl`},Pe={class:`desc-cell`},Fe=[`onClick`],Ie={key:5,class:`panel`},Le={class:`grid`},Re={class:`hint`},ze={class:`actions`},Be=[`disabled`],M={class:`tbl`},Ve={class:`mono`},He=[`onClick`],Ue={key:6,class:`panel`},We={class:`grid`},Ge={class:`actions`},Ke=[`disabled`],qe={class:`tbl`},Je={class:`mono`},Ye={class:`mono`},Xe={class:`hint`},N=h(te({__name:`index`,setup(te){ae({layout:`default`});let{t:h}=ie();re({title:()=>h(`menu.optimizer`)});let N=i(`spec`),P=i(``),F=i(``),I=i(!1),L=i([]),R=i([]),z=i([]),B=i([]),V=i(null),H=n({id:`mv1`,nodeId:``,role:`mv`,unit:``,scale:1,offset:0,delayMs:0,min:0,max:100,maxStep:void 0}),U=i([]),W=n({id:`pms-demo`,version:1,lineId:``,productId:``,recipeId:``,recipeVersion:0,beatMs:5e3,historySteps:24,horizonSteps:10,trainerRef:`linear_arx@1`,arOrder:2,inputOrder:1,order:1,ridgeLambda:.001,runIds:``,conditionId:`default`,purpose:`mpc_surrogate`}),G=n({id:`optp-demo`,version:1,name:``,description:``,modelId:``,template:`linear_mpc_quadratic@1`,solver:`osqp_mpc@1`,processSpecRef:``,configJson:`{
|
|
2
|
-
"linear_mpc_quadratic": {
|
|
3
|
-
"cvWeights": {"cv1": 1},
|
|
4
|
-
"duWeights": {"mv1": 0.1},
|
|
5
|
-
"terminalWeight": 2,
|
|
6
|
-
"targets": {"cv1": 50}
|
|
7
|
-
}
|
|
8
|
-
}`}),K=n({workspaceId:``,channelId:``,agentInstanceId:``,profileId:``,profileVersion:1,mode:`recommendation`}),q=i(``),J=i(``),Y=i(``),Ze=ne(()=>U.value.length===0);function X(e){F.value=e,setTimeout(()=>{F.value=``},4e3)}function Z(e){P.value=e instanceof Error?e.message:String(e)}function Qe(){let e={...H};if(!e.nodeId.trim()){P.value=h(`optimizer.nodeRequired`);return}U.value.push(e),H.nodeId=``}function Q(){let e=[{id:W.conditionId||`default`,match:[{field:`recipeId`,op:`eq`,value:W.recipeId}]}],t=W.trainerRef===`linear_arx@1`?{ref:`linear_arx@1`,config:{arOrder:W.arOrder,inputOrder:W.inputOrder,ridgeLambda:W.ridgeLambda,standardize:!0}}:{ref:`static_response@1`,config:{order:W.order,ridgeLambda:W.ridgeLambda,standardize:!0}},n=W.trainerRef===`linear_arx@1`?{id:`linear_state_space`,version:1,inputSemantics:`setpoint`,mode:`state_space`}:{id:`static_response`,version:1,inputSemantics:`setpoint`,mode:`static`};return{schemaVersion:2,id:W.id,version:W.version,lineId:W.lineId,productId:W.productId,recipeId:W.recipeId,recipeVersion:W.recipeVersion,conditions:e,variables:U.value.map(e=>({id:e.id,nodeId:e.nodeId,role:e.role,field:`value`,unit:e.unit,scale:e.scale,offset:e.offset,...e.role===`mv`?{delayMs:e.delayMs,min:e.min,max:e.max,maxStep:e.maxStep}:{}})),timing:{beatMs:W.beatMs,historySteps:W.historySteps,horizonSteps:W.horizonSteps,fixedDt:!0},trainer:t,datasetPolicy:{...W.runIds.trim()?{runIds:W.runIds.split(`,`).map(e=>e.trim()).filter(Boolean)}:{},split:{valRatio:.2,testRatio:.2,seed:42},cleaning:{hampelK:5}},gatePolicyRef:`process-model.gates@1`,modelInterface:n,effectiveDomain:{mv:Object.fromEntries(U.value.filter(e=>e.role===`mv`).map(e=>[e.id,{min:e.min,max:e.max,...e.maxStep?{maxStep:e.maxStep}:{}}])),cv:Object.fromEntries(U.value.filter(e=>e.role===`cv`).map(e=>[e.id,{min:e.min,max:e.max}]))},purpose:W.purpose}}async function $e(){I.value=!0,P.value=``;try{let e=Q(),t=await _(`/specs`,{method:`POST`,body:e});X(h(`optimizer.specSaved`,{id:`${t.spec.id}@${t.spec.version}`})),await $()}catch(e){Z(e)}finally{I.value=!1}}async function et(){I.value=!0,P.value=``;try{let e=await _(`/datasets`,{method:`POST`,body:Q()});q.value=e.datasetId,X(h(`optimizer.datasetBuilt`,{id:e.datasetId,rows:e.rowCount}))}catch(e){Z(e)}finally{I.value=!1}}async function tt(){I.value=!0,P.value=``;try{if(!q.value)throw Error(h(`optimizer.datasetRequired`));let e=await _(`/train`,{method:`POST`,body:{spec:Q(),datasetId:q.value,modelName:`${W.id}@${W.version}`}});X(h(`optimizer.jobSubmitted`,{id:e.job.id}))}catch(e){Z(e)}finally{I.value=!1}}async function nt(){I.value=!0,P.value=``;try{if(!q.value)throw Error(h(`optimizer.datasetRequired`));let e=await _(`/eligibility`,{method:`POST`,body:{specId:W.id,specVersion:W.version,datasetId:q.value,scope:`simulation`}});V.value=e.report,X(h(`optimizer.eligibilityDone`))}catch(e){Z(e)}finally{I.value=!1}}async function rt(){I.value=!0,P.value=``;try{let e={schemaVersion:1,id:G.id,version:G.version,name:G.name||void 0,description:G.description||void 0,modelRef:{modelId:G.modelId,artifactKind:`linear_state_space@1`,artifactHash:``,modelInterface:`linear_state_space`,stage:`candidate`},problemTemplateRef:G.template,problemConfig:JSON.parse(G.configJson),solverRef:G.solver,solverVersion:`1`,processSpecRef:G.processSpecRef||`${W.id}@${W.version}`,conditionIds:[],status:`draft`};await g(`/optimization/profiles`,{method:`POST`,body:e}),X(h(`optimizer.profileSaved`)),await $()}catch(e){Z(e)}finally{I.value=!1}}async function it(e,t){I.value=!0,P.value=``;try{await g(`/optimization/profiles/${encodeURIComponent(e)}/publish?version=${t}`,{method:`POST`}),X(h(`optimizer.profilePublished`)),await $()}catch(e){Z(e)}finally{I.value=!1}}async function at(){I.value=!0,P.value=``;try{await g(`/optimization/bindings`,{method:`POST`,body:{...K}}),X(h(`optimizer.bindingCreated`)),await $()}catch(e){Z(e)}finally{I.value=!1}}async function ot(e){I.value=!0,P.value=``;try{await g(`/optimization/bindings/${encodeURIComponent(e)}`,{method:`DELETE`}),X(h(`optimizer.bindingRevoked`)),await $()}catch(e){Z(e)}finally{I.value=!1}}async function st(){I.value=!0,P.value=``;try{await g(`/optimization/solve`,{method:`POST`,body:{agentInstanceId:J.value,...Y.value?{bindingId:Y.value}:{}}}),X(h(`optimizer.solveDone`)),await $()}catch(e){Z(e)}finally{I.value=!1}}async function $(){try{let[e,t,n,r]=await Promise.all([_(`/specs`),g(`/optimization/profiles`),g(`/optimization/bindings`),g(`/optimization/runs`)]);L.value=e.specs,R.value=t.profiles,z.value=n.bindings,B.value=r.runs}catch(e){Z(e)}}return ee($),(n,i)=>(a(),c(`div`,oe,[s(`div`,se,[s(`p`,ce,r(e(h)(`optimizer.kicker`)),1),s(`h1`,null,r(e(h)(`menu.optimizer`)),1),s(`p`,le,r(e(h)(`optimizer.subtitle`)),1),s(`span`,ue,r(e(h)(`optimizer.recommendationOnly`)),1)]),P.value?(a(),c(`div`,de,r(P.value),1)):d(``,!0),F.value?(a(),c(`div`,fe,r(F.value),1)):d(``,!0),s(`nav`,pe,[(a(),c(l,null,o([`spec`,`eligibility`,`profile`,`binding`,`runs`],n=>s(`button`,{key:n,class:t([`pill-btn`,{active:N.value===n}]),onClick:e=>N.value=n},r(e(h)(`optimizer.tab.${n}`)),11,me)),64))]),N.value===`spec`?(a(),c(`section`,he,[s(`h2`,null,r(e(h)(`optimizer.spec.title`)),1),s(`div`,ge,[s(`label`,null,[f(r(e(h)(`optimizer.fields.line`)),1),u(s(`input`,{"onUpdate:modelValue":i[0]||=e=>W.lineId=e,placeholder:`ln-...`},null,512),[[m,W.lineId]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.product`)),1),u(s(`input`,{"onUpdate:modelValue":i[1]||=e=>W.productId=e,placeholder:`pd-...`},null,512),[[m,W.productId]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.recipe`)),1),u(s(`input`,{"onUpdate:modelValue":i[2]||=e=>W.recipeId=e,placeholder:`rc-...`},null,512),[[m,W.recipeId]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.recipeVersion`)),1),u(s(`input`,{"onUpdate:modelValue":i[3]||=e=>W.recipeVersion=e,type:`number`,min:`0`},null,512),[[m,W.recipeVersion,void 0,{number:!0}]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.beat`)),1),u(s(`input`,{"onUpdate:modelValue":i[4]||=e=>W.beatMs=e,type:`number`,min:`1000`,step:`1000`},null,512),[[m,W.beatMs,void 0,{number:!0}]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.history`)),1),u(s(`input`,{"onUpdate:modelValue":i[5]||=e=>W.historySteps=e,type:`number`,min:`1`},null,512),[[m,W.historySteps,void 0,{number:!0}]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.horizon`)),1),u(s(`input`,{"onUpdate:modelValue":i[6]||=e=>W.horizonSteps=e,type:`number`,min:`1`},null,512),[[m,W.horizonSteps,void 0,{number:!0}]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.trainer`))+` `,1),u(s(`select`,{"onUpdate:modelValue":i[7]||=e=>W.trainerRef=e},[...i[39]||=[s(`option`,{value:`linear_arx@1`},`linear_arx@1`,-1),s(`option`,{value:`static_response@1`},`static_response@1`,-1)]],512),[[p,W.trainerRef]])]),W.trainerRef===`linear_arx@1`?(a(),c(`label`,_e,[f(r(e(h)(`optimizer.fields.arOrder`)),1),u(s(`input`,{"onUpdate:modelValue":i[8]||=e=>W.arOrder=e,type:`number`,min:`1`},null,512),[[m,W.arOrder,void 0,{number:!0}]])])):d(``,!0),W.trainerRef===`linear_arx@1`?(a(),c(`label`,ve,[f(r(e(h)(`optimizer.fields.inputOrder`)),1),u(s(`input`,{"onUpdate:modelValue":i[9]||=e=>W.inputOrder=e,type:`number`,min:`1`},null,512),[[m,W.inputOrder,void 0,{number:!0}]])])):(a(),c(`label`,ye,[f(r(e(h)(`optimizer.fields.order`)),1),u(s(`select`,{"onUpdate:modelValue":i[10]||=e=>W.order=e},[...i[40]||=[s(`option`,{value:1},`1`,-1),s(`option`,{value:2},`2`,-1)]],512),[[p,W.order,void 0,{number:!0}]])])),s(`label`,null,[f(r(e(h)(`optimizer.fields.runIds`)),1),u(s(`input`,{"onUpdate:modelValue":i[11]||=e=>W.runIds=e,placeholder:`rr-...,rr-...`},null,512),[[m,W.runIds]])])]),s(`h3`,null,r(e(h)(`optimizer.spec.variables`)),1),s(`p`,be,r(e(h)(`optimizer.spec.modelUnitsHint`)),1),s(`div`,xe,[s(`label`,null,[f(r(e(h)(`optimizer.fields.varId`)),1),u(s(`input`,{"onUpdate:modelValue":i[12]||=e=>H.id=e},null,512),[[m,H.id]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.nodeId`)),1),u(s(`input`,{"onUpdate:modelValue":i[13]||=e=>H.nodeId=e,placeholder:`node-...`},null,512),[[m,H.nodeId]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.role`)),1),u(s(`select`,{"onUpdate:modelValue":i[14]||=e=>H.role=e},[...i[41]||=[s(`option`,{value:`mv`},`mv`,-1),s(`option`,{value:`cv`},`cv`,-1),s(`option`,{value:`md`},`md`,-1),s(`option`,{value:`feature`},`feature`,-1)]],512),[[p,H.role]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.unit`)),1),u(s(`input`,{"onUpdate:modelValue":i[15]||=e=>H.unit=e,placeholder:`μm / ℃ / bar`},null,512),[[m,H.unit]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.scale`)),1),u(s(`input`,{"onUpdate:modelValue":i[16]||=e=>H.scale=e,type:`number`,step:`any`},null,512),[[m,H.scale,void 0,{number:!0}]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.offset`)),1),u(s(`input`,{"onUpdate:modelValue":i[17]||=e=>H.offset=e,type:`number`,step:`any`},null,512),[[m,H.offset,void 0,{number:!0}]])]),H.role===`mv`?(a(),c(`label`,Se,[f(r(e(h)(`optimizer.fields.delayMs`)),1),u(s(`input`,{"onUpdate:modelValue":i[18]||=e=>H.delayMs=e,type:`number`,min:`0`},null,512),[[m,H.delayMs,void 0,{number:!0}]])])):d(``,!0),s(`label`,null,[f(r(e(h)(`optimizer.fields.min`)),1),u(s(`input`,{"onUpdate:modelValue":i[19]||=e=>H.min=e,type:`number`,step:`any`},null,512),[[m,H.min,void 0,{number:!0}]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.max`)),1),u(s(`input`,{"onUpdate:modelValue":i[20]||=e=>H.max=e,type:`number`,step:`any`},null,512),[[m,H.max,void 0,{number:!0}]])]),H.role===`mv`?(a(),c(`label`,v,[f(r(e(h)(`optimizer.fields.maxStep`)),1),u(s(`input`,{"onUpdate:modelValue":i[21]||=e=>H.maxStep=e,type:`number`,step:`any`},null,512),[[m,H.maxStep,void 0,{number:!0}]])])):d(``,!0),s(`button`,{class:`ghost-btn`,onClick:Qe},r(e(h)(`optimizer.spec.addVariable`)),1)]),s(`table`,y,[i[42]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`id`),s(`th`,null,`node`),s(`th`,null,`role`),s(`th`,null,`unit`),s(`th`,null,`delay`),s(`th`,null,`range`),s(`th`)])],-1),s(`tbody`,null,[(a(!0),c(l,null,o(U.value,(t,n)=>(a(),c(`tr`,{key:`${t.id}-${n}`},[s(`td`,null,r(t.id),1),s(`td`,null,r(t.nodeId),1),s(`td`,null,r(t.role),1),s(`td`,null,r(t.unit),1),s(`td`,null,r(t.role===`mv`?`${t.delayMs}ms`:`—`),1),s(`td`,null,r(t.min)+` … `+r(t.max),1),s(`td`,null,[s(`button`,{class:`mini-btn`,onClick:e=>U.value.splice(n,1)},r(e(h)(`optimizer.remove`)),9,b)])]))),128))])]),Ze.value?(a(),c(`p`,x,r(e(h)(`optimizer.spec.needVariables`)),1)):d(``,!0),s(`div`,S,[s(`button`,{class:`pill-btn`,disabled:I.value,onClick:$e},r(e(h)(`optimizer.spec.save`)),9,C),s(`button`,{class:`pill-btn`,disabled:I.value,onClick:et},r(e(h)(`optimizer.spec.buildDataset`)),9,w),s(`button`,{class:`pill-btn`,disabled:I.value,onClick:tt},r(e(h)(`optimizer.spec.train`)),9,T)]),s(`p`,E,r(e(h)(`optimizer.currentDataset`))+`: `+r(q.value||`—`),1),s(`ul`,D,[(a(!0),c(l,null,o(L.value,e=>(a(),c(`li`,{key:`${e.id}@${e.version}`},[s(`code`,null,r(e.id)+`@`+r(e.version),1),f(` · `+r(e.status)+` · `+r(e.lineId)+` / `+r(e.recipeId)+` `,1),s(`span`,O,r(e.contentHash?.slice(0,10)),1)]))),128))])])):d(``,!0),N.value===`eligibility`?(a(),c(`section`,k,[s(`h2`,null,r(e(h)(`optimizer.eligibility.title`)),1),s(`div`,A,[s(`button`,{class:`pill-btn`,disabled:I.value,onClick:nt},r(e(h)(`optimizer.eligibility.evaluate`)),9,j)]),V.value?(a(),c(l,{key:0},[s(`p`,null,[s(`strong`,null,r(V.value.optimizationEligible?e(h)(`optimizer.eligibility.yes`):e(h)(`optimizer.eligibility.no`)),1),f(` · scope=`+r(V.value.scope)+` · `+r(V.value.evidenceVersion),1)]),s(`ul`,Ce,[(a(!0),c(l,null,o(V.value.gaps||[],(e,t)=>(a(),c(`li`,{key:t,class:`gap`},[s(`code`,null,r(e.code),1),f(` `+r(e.message),1)]))),128))]),s(`pre`,we,r(JSON.stringify(V.value.metrics,null,2)),1)],64)):(a(),c(`p`,Te,r(e(h)(`optimizer.eligibility.empty`)),1))])):d(``,!0),N.value===`profile`?(a(),c(`section`,Ee,[s(`h2`,null,r(e(h)(`optimizer.profile.title`)),1),s(`div`,De,[s(`label`,null,[i[43]||=f(`id`,-1),u(s(`input`,{"onUpdate:modelValue":i[22]||=e=>G.id=e},null,512),[[m,G.id]])]),s(`label`,null,[i[44]||=f(`version`,-1),u(s(`input`,{"onUpdate:modelValue":i[23]||=e=>G.version=e,type:`number`,min:`1`},null,512),[[m,G.version,void 0,{number:!0}]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.name`)),1),u(s(`input`,{"onUpdate:modelValue":i[24]||=e=>G.name=e,placeholder:`膜厚闭环-MPC 配置`},null,512),[[m,G.name]])]),s(`label`,Oe,[f(r(e(h)(`optimizer.fields.description`)),1),u(s(`input`,{"onUpdate:modelValue":i[25]||=e=>G.description=e,placeholder:`这个求解配置代表什么工况/目标/约束(用户与 Agent 都看这段)`},null,512),[[m,G.description]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.model`)),1),u(s(`input`,{"onUpdate:modelValue":i[26]||=e=>G.modelId=e,placeholder:`mdl-...`},null,512),[[m,G.modelId]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.template`)),1),u(s(`select`,{"onUpdate:modelValue":i[27]||=e=>G.template=e},[...i[45]||=[s(`option`,{value:`linear_mpc_quadratic@1`},`linear_mpc_quadratic@1`,-1),s(`option`,{value:`steady_response@1`},`steady_response@1`,-1)]],512),[[p,G.template]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.solver`)),1),u(s(`select`,{"onUpdate:modelValue":i[28]||=e=>G.solver=e},[...i[46]||=[s(`option`,{value:`osqp_mpc@1`},`osqp_mpc@1`,-1),s(`option`,{value:`scipy_slsqp@1`},`scipy_slsqp@1`,-1)]],512),[[p,G.solver]])]),s(`label`,null,[i[47]||=f(`processSpecRef`,-1),u(s(`input`,{"onUpdate:modelValue":i[29]||=e=>G.processSpecRef=e,placeholder:`pms@1`},null,512),[[m,G.processSpecRef]])])]),s(`label`,ke,[f(r(e(h)(`optimizer.profile.config`)),1),u(s(`textarea`,{"onUpdate:modelValue":i[30]||=e=>G.configJson=e,rows:`10`},null,512),[[m,G.configJson]])]),s(`p`,Ae,r(e(h)(`optimizer.profile.configHint`)),1),s(`div`,je,[s(`button`,{class:`pill-btn`,disabled:I.value,onClick:rt},r(e(h)(`optimizer.profile.save`)),9,Me)]),s(`table`,Ne,[s(`thead`,null,[s(`tr`,null,[i[48]||=s(`th`,null,`profile`,-1),s(`th`,null,r(e(h)(`optimizer.fields.name`)),1),s(`th`,null,r(e(h)(`optimizer.fields.description`)),1),i[49]||=s(`th`,null,`status`,-1),i[50]||=s(`th`,null,`model`,-1),i[51]||=s(`th`,null,`solver`,-1),i[52]||=s(`th`,null,null,-1)])]),s(`tbody`,null,[(a(!0),c(l,null,o(R.value,t=>(a(),c(`tr`,{key:`${t.id}@${t.version}`},[s(`td`,null,r(t.id)+`@`+r(t.version),1),s(`td`,null,r(t.profile?.name||t.name||`--`),1),s(`td`,Pe,r(t.profile?.description||t.description||`--`),1),s(`td`,null,r(t.status),1),s(`td`,null,r(t.modelRef),1),s(`td`,null,r(t.solverRef),1),s(`td`,null,[t.status===`published`?d(``,!0):(a(),c(`button`,{key:0,class:`mini-btn`,onClick:e=>it(t.id,t.version)},r(e(h)(`optimizer.publish`)),9,Fe))])]))),128))])])])):d(``,!0),N.value===`binding`?(a(),c(`section`,Ie,[s(`h2`,null,r(e(h)(`optimizer.binding.title`)),1),s(`div`,Le,[s(`label`,null,[i[53]||=f(`workspaceId`,-1),u(s(`input`,{"onUpdate:modelValue":i[31]||=e=>K.workspaceId=e},null,512),[[m,K.workspaceId]])]),s(`label`,null,[i[54]||=f(`channelId`,-1),u(s(`input`,{"onUpdate:modelValue":i[32]||=e=>K.channelId=e},null,512),[[m,K.channelId]])]),s(`label`,null,[f(r(e(h)(`optimizer.fields.agentInstance`)),1),u(s(`input`,{"onUpdate:modelValue":i[33]||=e=>K.agentInstanceId=e,placeholder:`channel_agents.id`},null,512),[[m,K.agentInstanceId]])]),s(`label`,null,[i[55]||=f(`profileId`,-1),u(s(`input`,{"onUpdate:modelValue":i[34]||=e=>K.profileId=e},null,512),[[m,K.profileId]])]),s(`label`,null,[i[56]||=f(`profileVersion`,-1),u(s(`input`,{"onUpdate:modelValue":i[35]||=e=>K.profileVersion=e,type:`number`,min:`1`},null,512),[[m,K.profileVersion,void 0,{number:!0}]])]),s(`label`,null,[i[58]||=f(`mode`,-1),u(s(`select`,{"onUpdate:modelValue":i[36]||=e=>K.mode=e},[...i[57]||=[s(`option`,{value:`recommendation`},`recommendation`,-1),s(`option`,{value:`shadow`},`shadow`,-1)]],512),[[p,K.mode]])])]),s(`p`,Re,r(e(h)(`optimizer.binding.identityHint`)),1),s(`div`,ze,[s(`button`,{class:`pill-btn`,disabled:I.value,onClick:at},r(e(h)(`optimizer.binding.create`)),9,Be)]),s(`table`,M,[i[59]||=s(`thead`,null,[s(`tr`,null,[s(`th`,null,`id`),s(`th`,null,`channel`),s(`th`,null,`agent`),s(`th`,null,`profile`),s(`th`,null,`mode`),s(`th`,null,`rev`),s(`th`)])],-1),s(`tbody`,null,[(a(!0),c(l,null,o(z.value,t=>(a(),c(`tr`,{key:t.id},[s(`td`,Ve,r(t.id),1),s(`td`,null,r(t.channelId),1),s(`td`,null,r(t.channelAgentId),1),s(`td`,null,r(t.profileVersion),1),s(`td`,null,r(t.mode),1),s(`td`,null,r(t.revision),1),s(`td`,null,[s(`button`,{class:`mini-btn`,onClick:e=>ot(t.id)},r(e(h)(`optimizer.binding.revoke`)),9,He)])]))),128))])])])):d(``,!0),N.value===`runs`?(a(),c(`section`,Ue,[s(`h2`,null,r(e(h)(`optimizer.runs.title`)),1),s(`div`,We,[s(`label`,null,[f(r(e(h)(`optimizer.fields.agentInstance`)),1),u(s(`input`,{"onUpdate:modelValue":i[37]||=e=>J.value=e},null,512),[[m,J.value]])]),s(`label`,null,[f(`bindingId (`+r(e(h)(`optimizer.optional`))+`)`,1),u(s(`input`,{"onUpdate:modelValue":i[38]||=e=>Y.value=e},null,512),[[m,Y.value]])])]),s(`div`,Ge,[s(`button`,{class:`pill-btn`,disabled:I.value,onClick:st},r(e(h)(`optimizer.runs.solve`)),9,Ke)]),s(`table`,qe,[s(`thead`,null,[s(`tr`,null,[i[60]||=s(`th`,null,`run`,-1),i[61]||=s(`th`,null,`status`,-1),i[62]||=s(`th`,null,`profile`,-1),i[63]||=s(`th`,null,`IR hash`,-1),s(`th`,null,r(e(h)(`optimizer.runs.recommendation`)),1),i[64]||=s(`th`,null,`validUntil`,-1)])]),s(`tbody`,null,[(a(!0),c(l,null,o(B.value,e=>(a(),c(`tr`,{key:e.id},[s(`td`,Je,r(e.id),1),s(`td`,null,r(e.status),1),s(`td`,null,r(e.profileId),1),s(`td`,Ye,r(e.problemIrHash?.slice(0,10)),1),s(`td`,{class:t({unverified:e.recommendation?.status===`unverified`})},r(e.recommendation?.statusLabel??`—`),3),s(`td`,null,r(e.recommendation?.validUntil??`—`),1)]))),128))])]),s(`p`,Xe,r(e(h)(`optimizer.runs.zeroWrite`)),1)])):d(``,!0)]))}}),[[`__scopeId`,`data-v-ef998496`]]);export{N as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dt as e,mt as t,v as n}from"./CavpkQb0.js";import{R as r,S as i,V as a,W as o,b as s,d as c,f as l,h as u,i as d,it as f,m as p,p as ee,rt as m,tt as h,y as g}from"./C6lssmvl.js";import{c as _,f as v,l as y}from"./ri9UF8rk.js";import{m as te,p as ne}from"./CDYLasP8.js";import{t as re}from"./DPPC9Teq.js";import{n as ie}from"./D1MkndMZ.js";import{t as ae}from"./Bmvt9ydE.js";import{t as b}from"./BDNMzG2s.js";import{t as x}from"./R5Pz7BqB.js";import{n as S}from"./B6C4WofF.js";import{t as oe}from"./DrlnrdvY2.js";import{t as se}from"./DPvZxAt02.js";var ce={class:`studio`},le={class:`col left`},ue={class:`card grow`},de={class:`sec`},fe={value:``},pe=[`value`],me={class:`nodeList`,"data-test":`studio-nodes`},he=[`title`,`onDblclick`],ge={class:`nName`},_e={key:0,class:`unit`},ve=[`onClick`],ye={key:0,class:`empty`},be={class:`card`},xe={class:`sec`},Se=[`onClick`],Ce={class:`nName`},we={class:`unit`},Te=[`onClick`],Ee={key:0,class:`empty`},De={class:`col mid`},Oe={class:`card`},ke={class:`row`},Ae={class:`gallery`,"data-test":`studio-gallery`},je=[`title`,`onClick`],Me={class:`row`},Ne={class:`lbl`},Pe={value:`15`},Fe={value:`60`},Ie={value:`240`},Le={class:`lbl`},Re={value:``},ze=[`value`],Be={class:`lbl`},Ve={value:`avg`},He={value:`min`},Ue={value:`max`},We=[`disabled`],Ge=[`disabled`],Ke={key:0,class:`err`},qe={class:`card grow canvasCard`},Je={key:0,class:`kpiRow`},Ye={class:`kName`},Xe={class:`kVal`},Ze={class:`unit`},Qe={key:1,class:`tblWrap`},$e={class:`tbl`},et={class:`mono`},tt={key:2,class:`empty big`},nt={class:`col right`},rt={class:`card`},it={class:`sec`},at={class:`well`,"data-test":`studio-y-well`},ot={class:`axis`},st=[`title`,`onClick`],ct=[`onClick`],lt={key:0,class:`empty`},ut={class:`sec`},dt={class:`well`},ft=[`onClick`],pt={key:0,class:`empty`},mt={class:`row`},ht=[`placeholder`],gt={class:`card`},_t={class:`sec`},vt={class:`hint`},yt={class:`nName`},bt=[`disabled`,`onClick`],xt=[`onClick`],St=[`disabled`,`onClick`],Ct={key:0,class:`hint`,"data-test":`studio-deviation`},wt={class:`card`},Tt={class:`sec`},Et=[`placeholder`],Dt={class:`row`},Ot={value:`private`},kt={value:`line`},At=[`disabled`],jt={key:0,class:`hint`},Mt={class:`modal`},Nt={class:`sec`},Pt=[`value`],Ft={class:`row end`},It={key:0,class:`hint`},C=b(i({__name:`index`,setup(i){let b=[`trend`,`bar`,`scatter`,`kpi`,`table`,`histogram`],{t:C}=ie(),w=ne(),Lt=te(),T=n(!1),E=n(``),D=c(()=>{let e=P.value.map(e=>`${e.name}(${e.nodeId})`).join(`、`),t=z.value?`、批次 ${z.value}`:``,n=U.value.at(-1),r=n?`。最新读数 ${n.points.at(-1)?.v??`-`}${n.unit}(时间窗 ${new Date(n.points[0]?.at??0).toISOString().slice(0,16)} 起)`:``;return`请用 daq_query 分析:产线 ${j.value||`(未选)`} 的 ${e}${t},窗口 ${R.value} 分钟、聚合 ${B.value}。请结合历史窗口给出趋势判读与建议${r}`});function Rt(){navigator.clipboard?.writeText(D.value).then(()=>{E.value=C(`studio.copied`)}).catch(()=>{E.value=``})}let O=c(()=>({trend:C(`studio.viz.trend`),bar:C(`studio.viz.bar`),scatter:C(`studio.viz.scatter`),kpi:C(`studio.viz.kpi`),table:C(`studio.viz.table`),histogram:C(`studio.viz.histogram`)})),k=n([]),A=n([]),j=n(``),M=n([]),N=n([]),P=n([]),F=n([]),I=n(``),L=n(`trend`),R=n(`60`),z=n(``),B=n(`avg`),V=n(!1),H=n(``),U=n([]),W=n(new Set),G=n(new Map),K=n(null),q=n(``),J=n(`private`),Y=n(``),X=n(``),Z=e=>P.value.some(t=>t.nodeId===e),zt=e=>e===`kpi`||e===`table`?U.value.length>0:P.value.length>0;function Bt(e){if(!Z(e.id)){if(P.value.length>=8){H.value=C(`studio.yMax`);return}P.value.push({nodeId:e.id,name:e.name,unit:e.unit,axis:P.value.length===0?`L`:`R`}),W.value.delete(e.id)}}function Vt(e){P.value=P.value.filter(t=>t.nodeId!==e)}function Ht(e){let t=P.value.find(t=>t.nodeId===e);t&&(t.axis=t.axis===`L`?`R`:`L`)}function Ut(){let e=Number(I.value);if(Number.isFinite(e)&&e!==0){F.value.push({value:e,label:`ref`}),I.value=``;return}let t=A.value.find(e=>Z(e.id));t?.max!=null&&F.value.push({value:Number(t.max),label:C(`studio.maxRef`)})}function Wt(e){let t=e.points.at(-1)?.v;return t==null?`-`:String(Number(t.toFixed(3)))}let Gt=c(()=>{let e=new Set;for(let t of U.value)for(let n of t.points)e.add(n.at);return[...e].sort((e,t)=>t-e).slice(0,200).map(e=>{let t={};for(let n of U.value){let r=n.points.find(t=>t.at===e);t[n.nodeId]=r?String(r.v):``}return{at:e,time:new Date(e).toISOString().slice(5,19).replace(`T`,` `),cells:t}})}),Kt=c(()=>{if(!U.value.length)return null;if(L.value===`trend`)return se({series:U.value,refLines:F.value,golden:{cache:G.value,on:W.value}});let e=[];for(let t of U.value)t.unit&&!e.includes(t.unit)&&e.push(t.unit);let t=t=>Math.min(e.indexOf(t),1),n=[0,1].slice(0,Math.max(1,Math.min(e.length,2))).map(t=>({type:`value`,name:e[t]??``,scale:!0})),r=[];if(L.value===`bar`)r.push(...U.value.map(e=>({name:e.name,type:`bar`,yAxisIndex:t(e.unit),data:e.points.map(e=>[e.at,e.v]),barMaxWidth:24})));else if(L.value===`scatter`)r.push(...U.value.map(e=>({name:e.name,type:`scatter`,yAxisIndex:t(e.unit),symbolSize:5,data:e.points.map(e=>[e.at,e.v])})));else if(L.value===`histogram`)for(let e of U.value){let t=e.points.map(e=>e.v);if(!t.length)continue;let n=Math.min(...t),i=(Math.max(...t)-n)/20||1,a=Array.from({length:20},()=>0);for(let e of t)a[Math.min(19,Math.floor((e-n)/i))]+=1;r.push({name:e.name,type:`bar`,yAxisIndex:0,barCategoryGap:`0%`,data:a.map((e,t)=>[Number((n+t*i).toFixed(3)),e]),tooltip:{formatter:e=>`[${(n+e.dataIndex*i).toFixed(2)}, ${(n+(e.dataIndex+1)*i).toFixed(2)}) : ${a[e.dataIndex]}`}})}return{tooltip:{trigger:`axis`},legend:{type:`scroll`},grid:{left:56,right:e.length>1?56:24,top:32,bottom:64},xAxis:[{type:`time`,axisLabel:{hideOverlap:!0}}],yAxis:n,dataZoom:[{type:`inside`},{type:`slider`,height:16,bottom:10}],toolbox:{right:8,top:0,feature:{saveAsImage:{title:`PNG`}}},series:r}});async function qt(){V.value=!0,H.value=``;try{let e=N.value.find(e=>e.id===z.value),t=e?.endedAt?Date.parse(e.endedAt):Date.now(),n=e?Date.parse(e.startedAt):t-(Number(R.value)||60)*6e4,r=new URLSearchParams;j.value&&r.set(`line_id`,j.value),r.set(`node_ids`,P.value.map(e=>e.nodeId).join(`,`)),r.set(`from`,String(n)),r.set(`to`,String(t)),r.set(`agg`,B.value),z.value&&r.set(`run_id`,z.value);let i=await S({base:`/api/workshop/daq/query?${r.toString()}`,retries:0});U.value=i.series??[],W.value=new Set([...W.value].filter(e=>P.value.some(t=>t.nodeId===e)))}catch(e){H.value=x(e)}finally{V.value=!1}}async function Jt(e){if(z.value)try{await S({base:`/api/workshop/eda/golden`,init:{method:`POST`,body:JSON.stringify({run_id:z.value,node_id:e})}}),X.value=C(`studio.goldenMade`,{node:P.value.find(t=>t.nodeId===e)?.name??e})}catch(e){H.value=x(e)}}async function Yt(e){if(W.value.has(e)){W.value.delete(e),W.value=new Set(W.value);return}try{let t=((await S({base:`/api/workshop/eda/runs?limit=50`})).runs??[]).find(e=>e.id===z.value)?.recipeId;if(!t){H.value=C(`studio.noRecipe`);return}let n=await S({base:`/api/workshop/eda/golden/single?recipe_id=${encodeURIComponent(t)}&node_id=${encodeURIComponent(e)}`});G.value.set(e,n.golden.profile),W.value.add(e),W.value=new Set(W.value)}catch(e){H.value=x(e)}}async function Xt(e){if(z.value)try{K.value=await S({base:`/api/workshop/eda/golden/deviation?run_id=${encodeURIComponent(z.value)}&node_id=${encodeURIComponent(e)}`})}catch(e){H.value=x(e)}}function Zt(){return{title:q.value.trim(),viz_type:L.value,datasource:{lineId:j.value||null,nodeIds:P.value.map(e=>e.nodeId),runId:z.value||null,preset:R.value,agg:B.value},encoding:{y:P.value,refLines:F.value,golden:[...W.value]},options:{},line_id:j.value||null,visibility:J.value}}async function Qt(){X.value=``;try{let e=Zt();if(Y.value){let t=await S({base:`/api/workshop/eda/charts/${Y.value}`,init:{method:`PATCH`,body:JSON.stringify(e)}});X.value=C(`studio.savedV`,{v:t.chart.version})}else{let t=await S({base:`/api/workshop/eda/charts`,init:{method:`POST`,body:JSON.stringify(e)}});Y.value=t.chart.id,X.value=C(`studio.savedV`,{v:t.chart.version})}await $()}catch(e){H.value=x(e)}}function $t(e){Y.value=e.id,q.value=e.title,L.value=e.vizType;let t=e.datasource;j.value=t.lineId??``,z.value=t.runId??``,R.value=t.preset??`60`,B.value=t.agg??`avg`,J.value=e.visibility??`private`;let n=e.encoding;P.value=n.y??[],F.value=n.refLines??[],W.value=new Set(n.golden??[]),Q().then(qt)}async function en(e){try{await S({base:`/api/workshop/eda/charts/${e}`,init:{method:`DELETE`}}),Y.value===e&&(Y.value=``),await $()}catch(e){H.value=x(e)}}async function Q(){let e=await S({base:`/api/workshop/daq`,retries:1});A.value=(e.nodes??[]).filter(e=>!j.value||e.lineId===j.value)}async function $(){let e=await S({base:`/api/workshop/eda/charts?mine=1`,retries:1});M.value=e.charts??[]}return r(async()=>{try{let e=typeof w.query.line==`string`?w.query.line:``,[t,n]=await Promise.all([S({base:`/api/workshop/dcw/lines`,retries:1}),S({base:`/api/workshop/eda/runs?limit=20`,retries:1})]);k.value=t.lines??[],N.value=n.runs??[],e&&k.value.some(t=>t.id===e)?j.value=e:k.value.length&&(j.value=k.value[0].id),await Q(),await $()}catch(e){H.value=x(e)}}),h(j,e=>{Lt.replace({query:{...w.query,line:e||void 0}})}),(n,r)=>{let i=re,c=oe,h=ae;return a(),u(`div`,ce,[l(`aside`,le,[l(`div`,ue,[l(`h3`,de,t(n.$t(`studio.sources`)),1),f(l(`select`,{"onUpdate:modelValue":r[0]||=e=>j.value=e,class:`input w`,"data-test":`studio-line`,onChange:Q},[l(`option`,fe,t(n.$t(`data.line.any`)),1),(a(!0),u(d,null,o(k.value,e=>(a(),u(`option`,{key:e.id,value:e.id},t(e.name),9,pe))),128))],544),[[_,j.value]]),l(`div`,me,[(a(!0),u(d,null,o(A.value,e=>(a(),u(`button`,{key:e.id,class:`nodeRow`,title:n.$t(`studio.dblClickAdd`),onDblclick:t=>Bt(e)},[l(`span`,ge,t(e.name),1),e.unit?(a(),u(`span`,_e,t(e.unit),1)):p(``,!0),Z(e.id)?p(``,!0):(a(),u(`button`,{key:1,class:`miniAdd`,onClick:v(t=>Bt(e),[`stop`])},` +Y `,8,ve))],40,he))),128)),A.value.length?p(``,!0):(a(),u(`p`,ye,t(n.$t(`studio.pickLine`)),1))])]),l(`div`,be,[l(`h3`,xe,t(n.$t(`studio.myCharts`)),1),(a(!0),u(d,null,o(M.value,e=>(a(),u(`button`,{key:e.id,class:`chartRow`,"data-test":`studio-chart-row`,onClick:t=>$t(e)},[l(`span`,Ce,t(e.title),1),l(`span`,we,t(e.vizType)+` v`+t(e.version),1),l(`button`,{class:`miniAdd`,onClick:v(t=>en(e.id),[`stop`])},` ✕ `,8,Te)],8,Se))),128)),M.value.length?p(``,!0):(a(),u(`p`,Ee,t(n.$t(`studio.noCharts`)),1))])]),l(`main`,De,[l(`div`,Oe,[l(`div`,ke,[l(`div`,Ae,[(a(),u(d,null,o(b,n=>l(`button`,{key:n,class:e([`vizBtn`,{on:L.value===n,dim:!zt(n)}]),title:O.value[n],onClick:e=>L.value=n},t(O.value[n]),11,je)),64))])]),l(`div`,Me,[l(`label`,Ne,t(n.$t(`data.mirror.window`)),1),f(l(`select`,{"onUpdate:modelValue":r[1]||=e=>R.value=e,class:`input sel`},[l(`option`,Pe,t(n.$t(`data.mirror.last15`)),1),l(`option`,Fe,t(n.$t(`data.mirror.last60`)),1),l(`option`,Ie,t(n.$t(`data.mirror.last240`)),1)],512),[[_,R.value]]),l(`label`,Le,t(n.$t(`studio.runFilter`)),1),f(l(`select`,{"onUpdate:modelValue":r[2]||=e=>z.value=e,class:`input sel`,"data-test":`studio-run`},[l(`option`,Re,t(n.$t(`studio.noRun`)),1),(a(!0),u(d,null,o(N.value,e=>(a(),u(`option`,{key:e.id,value:e.id},t(e.id)+` · `+t(e.outcome),9,ze))),128))],512),[[_,z.value]]),l(`label`,Be,t(n.$t(`data.mirror.agg`)),1),f(l(`select`,{"onUpdate:modelValue":r[3]||=e=>B.value=e,class:`input sel`},[l(`option`,Ve,t(n.$t(`data.mirror.aggAvg`)),1),l(`option`,He,t(n.$t(`data.mirror.aggMin`)),1),l(`option`,Ue,t(n.$t(`data.mirror.aggMax`)),1)],512),[[_,B.value]]),l(`button`,{class:`pill-btn primary`,"data-test":`studio-query`,disabled:!P.value.length||V.value,onClick:qt},t(V.value?n.$t(`data.mirror.querying`):n.$t(`data.mirror.query`)),9,We),s(i,{to:`/studio/board`,class:`pill-btn boardLink`,"data-test":`studio-board-link`},{default:m(()=>[g(t(n.$t(`studio.boardLink`)),1)]),_:1}),l(`button`,{class:`pill-btn`,"data-test":`studio-agent-prompt`,disabled:!U.value.length,onClick:r[4]||=e=>T.value=!0},t(n.$t(`studio.agentPrompt`)),9,Ge)]),H.value?(a(),u(`p`,Ke,t(H.value),1)):p(``,!0)]),l(`div`,qe,[s(h,null,{default:m(()=>[Kt.value&&L.value!==`table`&&L.value!==`kpi`?(a(),ee(c,{key:0,option:Kt.value,style:{height:`100%`,width:`100%`}},null,8,[`option`])):p(``,!0)]),_:1}),L.value===`kpi`&&U.value.length?(a(),u(`div`,Je,[(a(!0),u(d,null,o(U.value,e=>(a(),u(`div`,{key:e.nodeId,class:`kpi`},[l(`span`,Ye,t(e.name),1),l(`span`,Xe,[g(t(Wt(e)),1),l(`i`,Ze,t(e.unit),1)])]))),128))])):p(``,!0),L.value===`table`&&U.value.length?(a(),u(`div`,Qe,[l(`table`,$e,[l(`thead`,null,[l(`tr`,null,[l(`th`,null,t(n.$t(`data.mirror.time`)),1),(a(!0),u(d,null,o(U.value,e=>(a(),u(`th`,{key:e.nodeId},t(e.name),1))),128))])]),l(`tbody`,null,[(a(!0),u(d,null,o(Gt.value,e=>(a(),u(`tr`,{key:e.at},[l(`td`,et,t(e.time),1),(a(!0),u(d,null,o(U.value,n=>(a(),u(`td`,{key:n.nodeId,class:`mono`},t(e.cells[n.nodeId]??``),1))),128))]))),128))])])])):p(``,!0),!U.value.length&&!V.value?(a(),u(`p`,tt,t(n.$t(`studio.canvasEmpty`)),1)):p(``,!0)])]),l(`aside`,nt,[l(`div`,rt,[l(`h3`,it,t(n.$t(`studio.yWell`)),1),l(`div`,at,[(a(!0),u(d,null,o(P.value,e=>(a(),u(`span`,{key:e.nodeId,class:`chip`},[l(`b`,ot,t(e.axis),1),g(` `+t(e.name)+` `,1),l(`button`,{class:`axisBtn`,title:n.$t(`studio.toggleAxis`),onClick:t=>Ht(e.nodeId)},`⇄`,8,st),l(`button`,{class:`axisBtn`,onClick:t=>Vt(e.nodeId)},`✕`,8,ct)]))),128)),P.value.length?p(``,!0):(a(),u(`span`,lt,t(n.$t(`studio.yEmpty`)),1))]),l(`h3`,ut,t(n.$t(`studio.refWell`)),1),l(`div`,dt,[(a(!0),u(d,null,o(F.value,(e,n)=>(a(),u(`span`,{key:n,class:`chip`},[g(t(e.label)+` `+t(e.value)+` `,1),l(`button`,{class:`axisBtn`,onClick:e=>F.value.splice(n,1)},`✕`,8,ft)]))),128)),F.value.length?p(``,!0):(a(),u(`span`,pt,t(n.$t(`studio.refEmpty`)),1))]),l(`div`,mt,[f(l(`input`,{"onUpdate:modelValue":r[5]||=e=>I.value=e,type:`number`,class:`input numIn`,placeholder:n.$t(`studio.refValue`)},null,8,ht),[[y,I.value]]),l(`button`,{class:`pill-btn`,onClick:Ut},t(n.$t(`studio.refFromTemplate`)),1)])]),l(`div`,gt,[l(`h3`,_t,t(n.$t(`studio.golden`)),1),l(`p`,vt,t(n.$t(`studio.goldenHint`)),1),(a(!0),u(d,null,o(P.value,e=>(a(),u(`div`,{key:e.nodeId,class:`row goldenRow`},[l(`span`,yt,t(e.name),1),l(`button`,{class:`pill-btn`,disabled:!z.value,onClick:t=>Jt(e.nodeId)},t(n.$t(`studio.goldenMake`)),9,bt),l(`button`,{class:`pill-btn`,onClick:t=>Yt(e.nodeId)},t(W.value.has(e.nodeId)?n.$t(`studio.goldenHide`):n.$t(`studio.goldenShow`)),9,xt),l(`button`,{class:`pill-btn`,disabled:!z.value,onClick:t=>Xt(e.nodeId)},t(n.$t(`studio.goldenScore`)),9,St)]))),128)),K.value?(a(),u(`p`,Ct,t(n.$t(`studio.deviationScore`,{score:K.value.score})),1)):p(``,!0)]),l(`div`,wt,[l(`h3`,Tt,t(n.$t(`studio.saveSection`)),1),f(l(`input`,{"onUpdate:modelValue":r[6]||=e=>q.value=e,class:`input w`,placeholder:n.$t(`studio.chartTitle`),"data-test":`studio-title`},null,8,Et),[[y,q.value]]),l(`div`,Dt,[f(l(`select`,{"onUpdate:modelValue":r[7]||=e=>J.value=e,class:`input sel`},[l(`option`,Ot,t(n.$t(`studio.visPrivate`)),1),l(`option`,kt,t(n.$t(`studio.visLine`)),1)],512),[[_,J.value]]),l(`button`,{class:`pill-btn primary`,"data-test":`studio-save`,disabled:!q.value.trim()||!U.value.length,onClick:Qt},t(Y.value?n.$t(`studio.update`):n.$t(`studio.save`)),9,At)]),X.value?(a(),u(`p`,jt,t(X.value),1)):p(``,!0)]),T.value?(a(),u(`div`,{key:0,class:`modalMask`,onClick:r[9]||=v(e=>T.value=!1,[`self`])},[l(`div`,Mt,[l(`h3`,Nt,t(n.$t(`studio.promptTitle`)),1),l(`textarea`,{readonly:``,value:D.value,class:`promptBox`,"data-test":`studio-prompt-text`},null,8,Pt),l(`div`,Ft,[l(`button`,{class:`pill-btn`,"data-test":`studio-prompt-copy`,onClick:Rt},t(n.$t(`studio.copy`)),1),l(`button`,{class:`pill-btn`,onClick:r[8]||=e=>T.value=!1},t(n.$t(`data.mirror.cancel`)),1)]),E.value?(a(),u(`p`,It,t(E.value),1)):p(``,!0)])])):p(``,!0)])])}}}),[[`__scopeId`,`data-v-455d5f47`]]);export{C as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{N as e,dt as t,ft as n,g as r,mt as i,u as a,v as o}from"./CavpkQb0.js";import{$ as s,P as c,R as l,S as u,V as d,W as f,b as p,f as m,h,i as g,it as _,k as v,m as y,p as b,tt as x,y as S}from"./C6lssmvl.js";import{c as C,d as w,f as T,l as E}from"./ri9UF8rk.js";import{n as D}from"./Bko5adbu.js";import{n as ee}from"./D1MkndMZ.js";import{t as O}from"./CElzwyXQ.js";import{i as te}from"./DXgw1dVL.js";import{t as k}from"./BDNMzG2s.js";import{t as ne}from"./R5Pz7BqB.js";import{t as re}from"./DoL9u6wu.js";import{t as ie}from"./Cn6EojFe.js";import{t as ae}from"./B_Obcbiu.js";import{t as oe}from"./JegDslce.js";import{c as se,l as ce,u as A}from"./B6Olw0Op.js";import{t as le}from"./eePbiWEh.js";import{t as ue}from"./D7TZLu4F.js";import{t as j}from"./2v5GdspM.js";import{r as de,t as fe}from"./CnYazk8d.js";import{t as pe}from"./SvjzWbn8.js";import{t as me}from"./B6UwtJ1a.js";import{t as M}from"./CLFmtXU7.js";import{t as he}from"./CNs_Ozdc.js";import{t as ge}from"./CfIbFnJz.js";var _e={class:`aw-page-head`},ve={class:`sub`},N={class:`badges mono`},ye=[`title`],P=[`title`],be=Object.assign(k(u({__name:`AmlPageHeader`,props:{overview:{},env:{},pythonText:{},venvText:{},uvText:{}},setup(e){return(n,r)=>(d(),h(`div`,_e,[m(`div`,null,[r[0]||=m(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / AML STUDIO `,-1),m(`h1`,null,i(n.$t(`aml.k1amlx001`)),1),m(`p`,ve,i(n.$t(`aml.k1amlx002`)),1)]),m(`div`,N,[m(`span`,{class:t([`badge`,{bad:e.overview!=null&&!e.overview.runtime.python.ok}]),title:e.overview?.runtime.python.reason??``},`PYTHON · `+i(e.pythonText),11,ye),m(`span`,{class:t([`badge`,{bad:e.overview!=null&&!e.overview.runtime.venvReady}])},`VENV · `+i(e.venvText),3),m(`span`,{class:t([`badge`,{bad:e.env!=null&&!e.env.uv.ok}]),title:e.env?.uv.reason??e.env?.uv.path??``},`UV · `+i(e.uvText),11,P)])]))}}),[[`__scopeId`,`data-v-826711fe`]]),{__name:`AmlPageHeader`}),xe={key:0,class:`infra-banner`},F={class:`txt`},Se={class:`mono`},Ce=Object.assign(k(u({__name:`AmlInfraBanner`,props:{overview:{}},setup(e){return(t,n)=>e.overview!=null&&!e.overview.runtime.python.ok?(d(),h(`div`,xe,[n[0]||=m(`span`,{class:`i-tabler-alert-triangle`},null,-1),m(`span`,F,[S(i(t.$t(`aml.k1amlx014`)),1),m(`b`,Se,i(e.overview.runtime.python.reason??``),1)])])):y(``,!0)}}),[[`__scopeId`,`data-v-7eaa5bb0`]]),{__name:`AmlInfraBanner`}),we={key:0,class:`aw-tile ov-card`},Te={class:`ov-row mono`},Ee={class:`ov-item`},I={class:`ov-item`},De={class:`ov-item`},Oe={class:`ov-item`},L=[`title`],R={key:1,class:`err`},ke=Object.assign(k(u({__name:`AmlOverviewBar`,props:{overview:{},overviewError:{},pythonText:{},venvText:{}},emits:[`reload`],setup(e){return(n,r)=>e.overview?(d(),h(`section`,we,[m(`div`,Te,[m(`span`,{class:t([`ov-item`,e.overview.runtime.python.ok?`ok`:`bad`])},[m(`span`,{class:t(e.overview.runtime.python.ok?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),S(` `+i(n.$t(`aml.k1amlx003`))+` · `+i(e.pythonText),1)],2),m(`span`,{class:t([`ov-item`,{ok:e.overview.runtime.venvReady}])},i(n.$t(`aml.k1amlx006`))+` · `+i(e.venvText),3),m(`span`,Ee,[S(i(n.$t(`aml.k1amlx009`))+` `,1),m(`b`,null,i(e.overview.runtime.queued),1)]),m(`span`,I,[S(i(n.$t(`aml.k1amlx010`))+` `,1),m(`b`,null,i(e.overview.runtime.running),1)]),r[1]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,De,[S(i(n.$t(`aml.k1amlx011`))+` `,1),m(`b`,null,i(e.overview.counts.datasets),1)]),m(`span`,Oe,[S(i(n.$t(`aml.k1amlx012`))+` `,1),m(`b`,null,i(e.overview.counts.models),1)]),m(`span`,{class:`ov-item accent`,title:n.$t(`aml.k1amlx013`)},[S(i(n.$t(`aml.k1amlx013`))+` `,1),m(`b`,null,i(e.overview.counts.productions),1)],8,L),m(`button`,{class:`mini-btn reload`,onClick:r[0]||=e=>n.$emit(`reload`)},i(n.$t(`aml.k1amlx017`)),1)])])):e.overviewError?(d(),h(`p`,R,i(n.$t(`aml.k1amlx015`))+`:`+i(e.overviewError),1)):y(``,!0)}}),[[`__scopeId`,`data-v-9a4afc27`]]),{__name:`AmlOverviewBar`}),z={class:`aw-tile zone env-zone`},B={class:`zone-head`},V={class:`zone-actions`},Ae=[`disabled`],je={key:0,class:`infra-banner`},H={class:`txt`},Me={class:`mono`},Ne={class:`env-grid`},U={class:`ec-head`},Pe={class:`ec-state`},W={key:0,class:`ec-detail mono`},G={key:1,class:`ec-detail`},K={class:`ec-actions`},q=[`disabled`,`title`],J={class:`ec-head`},Y={class:`ec-state`},X={class:`ec-detail mono`},Fe={class:`ec-actions`},Z=[`disabled`,`title`],Ie=[`disabled`],Q={class:`env-card`},$={class:`ec-head`},Le={class:`ec-detail mono`},Re={class:`ec-detail dim`},ze={class:`ec-detail`},Be={class:`mono`},Ve={class:`dim`},He={class:`ec-head`},Ue={key:0,class:`ec-state`},We={key:0,class:`ec-detail mono`},Ge={key:1,class:`ec-issues mono`},Ke=[`title`],qe={class:`tag`},Je={class:`ec-actions`},Ye={key:1,class:`env-task`},Xe={class:`et-head mono`},Ze={class:`dim`},Qe={key:0,class:`dim`},$e={class:`et-log mono`},et={key:0,class:`err`},tt=Object.assign(k(u({__name:`AmlEnvPanel`,props:{env:{},inventory:{},envBusy:{type:Boolean},uvText:{},uvSourceText:{},blockerText:{},rootSourceLabel:{}},emits:[`recheck`,`installUv`,`createVenv`,`prune`],setup(n){let r=o(!1),{shortId:a}=j();return(o,s)=>(d(),h(`section`,z,[m(`div`,B,[m(`h2`,null,i(o.$t(`aml.k1amlx162`)),1),m(`div`,V,[m(`button`,{class:`mini-btn`,disabled:n.envBusy,onClick:s[0]||=e=>o.$emit(`recheck`)},i(o.$t(`aml.k1amlx175`)),9,Ae),m(`button`,{class:`mini-btn`,onClick:s[1]||=e=>r.value=!r.value},i(r.value?o.$t(`aml.k1amlx181`):o.$t(`aml.k1amlx180`)),1)])]),n.env.preflight.canRunJobs?y(``,!0):(d(),h(`div`,je,[s[6]||=m(`span`,{class:`i-tabler-alert-triangle`},null,-1),m(`span`,H,[S(i(o.$t(`aml.k1amlx178`))+`:`,1),m(`b`,Me,i(n.blockerText),1)])])),m(`div`,Ne,[m(`div`,{class:t([`env-card`,n.env.uv.ok?`ok`:`bad`])},[m(`div`,U,[m(`span`,{class:t(n.env.uv.ok?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),m(`b`,null,i(o.$t(`aml.k1amlx163`)),1),m(`span`,Pe,i(n.uvText),1)]),n.env.uv.ok?(d(),h(`p`,W,[S(i(n.env.uv.path),1),n.uvSourceText?(d(),h(g,{key:0},[S(` · `+i(n.uvSourceText),1)],64)):y(``,!0)])):(d(),h(`p`,G,i(o.$t(`aml.k1amlx177`)),1)),m(`div`,K,[n.env.uv.ok?y(``,!0):(d(),h(`button`,{key:0,class:`mini-btn primary`,disabled:n.envBusy,title:o.$t(`aml.k1amlx176`),onClick:s[2]||=e=>o.$emit(`installUv`)},[s[7]||=m(`span`,{class:`i-tabler-download`},null,-1),S(` `+i(n.env.task?.kind===`install-uv`&&n.env.task.status===`running`?o.$t(`aml.k1amlx167`):o.$t(`aml.k1amlx166`)),1)],8,q))])],2),m(`div`,{class:t([`env-card`,n.env.venv.ready?`ok`:`bad`])},[m(`div`,J,[m(`span`,{class:t(n.env.venv.ready?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),m(`b`,null,i(o.$t(`aml.k1amlx168`)),1),m(`span`,Y,i(n.env.venv.ready?o.$t(`aml.k1amlx007`):o.$t(`aml.k1amlx008`)),1)]),m(`p`,X,[S(i(n.env.venv.dir)+` `,1),n.env.venv.ready?(d(),h(g,{key:0},[S(` · `+i(n.env.venv.sizeMb)+` MB `,1)],64)):y(``,!0)]),m(`div`,Fe,[m(`button`,{class:`mini-btn primary`,disabled:n.envBusy||!n.env.python.ok&&!n.env.uv.ok,title:n.env.python.ok?``:n.env.uv.ok?`系统无 Python —— 将由 uv 自动安装托管解释器并创建环境(uv 优先)`:n.env.python.reason??``,onClick:s[3]||=e=>o.$emit(`createVenv`,!1)},[s[8]||=m(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(n.env.task?.kind===`create-venv`&&n.env.task.status===`running`?o.$t(`aml.k1amlx170`):o.$t(`aml.k1amlx168`)),1)],8,Z),n.env.venv.ready?(d(),h(`button`,{key:0,class:`mini-btn`,disabled:n.envBusy,onClick:s[4]||=e=>o.$emit(`createVenv`,!0)},i(o.$t(`aml.k1amlx169`)),9,Ie)):y(``,!0)])],2),m(`div`,Q,[m(`div`,$,[s[9]||=m(`span`,{class:`i-tabler-folder`},null,-1),m(`b`,null,i(o.$t(`aml.k1amlx171`)),1)]),m(`p`,Le,i(n.env.amlRoot),1),m(`p`,Re,i(o.$t(`aml.k1amlx201`)),1),m(`p`,ze,[S(i(o.$t(`aml.k1amlx174`))+`: `,1),m(`b`,Be,i(n.env.disk.usedMb)+` / `+i(n.env.disk.quotaMb)+` MB`,1),m(`span`,Ve,` · `+i(n.rootSourceLabel),1)])]),m(`div`,{class:t([`env-card`,n.inventory==null?``:n.inventory.ok?`ok`:`bad`])},[m(`div`,He,[m(`span`,{class:t(n.inventory?.ok===!1?`i-tabler-alert-triangle`:`i-tabler-database`)},null,2),m(`b`,null,i(o.$t(`aml.k1amlx182`)),1),n.inventory?(d(),h(`span`,Ue,i(n.inventory.ok?o.$t(`aml.k1amlx183`):o.$t(`aml.k1amlx184`)),1)):y(``,!0)]),n.inventory?(d(),h(`p`,We,i(o.$t(`aml.k1amlx011`))+` `+i(n.inventory.counts.datasets)+`/`+i(n.inventory.entities.datasets)+` · `+i(o.$t(`aml.k1amlx010`))+` `+i(n.inventory.counts.jobs)+`/`+i(n.inventory.entities.jobs)+` · `+i(o.$t(`aml.k1amlx012`))+` `+i(n.inventory.counts.models)+`/`+i(n.inventory.entities.models),1)):y(``,!0),n.inventory&&n.inventory.issues.length>0?(d(),h(`ul`,Ge,[(d(!0),h(g,null,f(n.inventory.issues.slice(0,5),t=>(d(),h(`li`,{key:`${t.kind}:${t.id}:${t.problem}`,title:t.detail},[m(`span`,qe,i(t.problem===`entity_missing`?o.$t(`aml.k1amlx185`):t.problem===`orphan_dir`?o.$t(`aml.k1amlx186`):o.$t(`aml.k1amlx187`)),1),S(` `+i(t.kind)+` `+i(e(a)(t.id)),1)],8,Ke))),128))])):y(``,!0),m(`div`,Je,[n.inventory&&n.inventory.issues.some(e=>e.problem===`orphan_dir`)?(d(),h(`button`,{key:0,class:`mini-btn`,onClick:s[5]||=e=>o.$emit(`prune`)},[s[10]||=m(`span`,{class:`i-tabler-trash`},null,-1),S(` `+i(o.$t(`aml.k1amlx188`)),1)])):y(``,!0)])],2)]),n.env.task&&r.value?(d(),h(`div`,Ye,[m(`div`,Xe,[m(`span`,{class:t(n.env.task.status===`running`?`i-tabler-loader-2 spin`:n.env.task.status===`done`?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),m(`b`,null,i(n.env.task.kind),1),m(`span`,Ze,i(n.env.task.status),1),n.env.task.status===`running`?(d(),h(`span`,Qe,`· `+i(o.$t(`aml.k1amlx179`)),1)):y(``,!0)]),m(`pre`,$e,i(n.env.task.log.slice(-40).join(`
|
|
2
|
-
`)),1),n.env.task.error?(d(),h(`p`,et,i(n.env.task.error),1)):y(``,!0)])):y(``,!0)]))}}),[[`__scopeId`,`data-v-f2c92c1d`]]),{__name:`AmlEnvPanel`}),nt={class:`aw-tile zone`},rt={class:`zone-head`},it={class:`mono cnt`},at={class:`zone-actions`},ot={key:0,class:`tbl-scroll`},st={class:`tbl tbl-datasets`},ct={class:`num`},lt={class:`num`},ut=[`onClick`],dt={class:`mono dim`},ft={class:`mono`},pt={class:`mono`},mt={class:`mono num`},ht={class:`mono num`},gt={key:0,class:`note-edit`},_t=[`placeholder`,`onKeyup`],vt=[`onClick`],yt={key:1,class:`note-text`},bt=[`title`],xt=[`title`,`onClick`],St=[`title`,`onClick`],Ct={key:0,class:`detail-row`},wt={colspan:`7`},Tt={key:0,class:`dim pad`},Et={key:1,class:`err pad`},Dt={key:2,class:`det-grid`},Ot={class:`det-title`},kt={class:`sub-tbl`},At={class:`num`},jt={class:`num`},Mt={class:`num`},Nt={class:`num`},Pt={class:`num`},Ft={class:`mono`},It={class:`role-chip`},Lt={class:`mono num`},Rt={class:`mono num`},zt={class:`mono num`},Bt={class:`mono num`},Vt={class:`mono num`},Ht={class:`det-title`},Ut={key:0,class:`sub-tbl`},Wt={class:`num`},Gt={class:`num`},Kt={class:`mono`},qt={class:`mono`},Jt={class:`mono num`},Yt={class:`mono num`},Xt={key:1,class:`dim`},Zt={class:`det-title`},Qt={class:`mono dim run-line`},$t={key:3,class:`dim pad`},en={key:1,class:`empty`},tn=Object.assign(k(u({__name:`AmlDatasetTable`,props:v({datasets:{},expandedDs:{},dsDetails:{},noteEditing:{}},{noteDraft:{required:!0},noteDraftModifiers:{}}),emits:v([`toggle`,`reload`,`create`,`editNote`,`saveNote`,`cancelNote`,`remove`],[`update:noteDraft`]),setup(n){let r=s(n,`noteDraft`),{fmtTime:a,fmtNum:o,fmtPct:c,shortId:l}=j();return(s,u)=>(d(),h(`section`,nt,[m(`div`,rt,[m(`h2`,null,[u[6]||=m(`span`,{class:`i-tabler-database`},null,-1),S(` `+i(s.$t(`aml.k1amlx016`))+` `,1),m(`b`,it,i(n.datasets.length),1)]),m(`div`,at,[m(`button`,{class:`mini-btn`,onClick:u[0]||=e=>s.$emit(`reload`)},i(s.$t(`aml.k1amlx017`)),1),m(`button`,{class:`pill-btn`,onClick:u[1]||=e=>s.$emit(`create`)},[u[7]||=m(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(s.$t(`aml.k1amlx018`)),1)])])]),n.datasets.length?(d(),h(`div`,ot,[m(`table`,st,[m(`thead`,null,[m(`tr`,null,[m(`th`,null,i(s.$t(`aml.k1amlx020`)),1),m(`th`,null,i(s.$t(`aml.k1amlx021`)),1),m(`th`,null,i(s.$t(`aml.k1amlx022`)),1),m(`th`,ct,i(s.$t(`aml.k1amlx023`)),1),m(`th`,lt,i(s.$t(`aml.k1amlx024`)),1),m(`th`,null,i(s.$t(`aml.k1amlx025`)),1),m(`th`,null,i(s.$t(`aml.k1amlx026`)),1)])]),m(`tbody`,null,[(d(!0),h(g,null,f(n.datasets,p=>(d(),h(g,{key:p.id},[m(`tr`,{class:t([`row-main`,{open:n.expandedDs===p.id}]),onClick:e=>s.$emit(`toggle`,p.id)},[m(`td`,dt,i(e(a)(p.createdAt)),1),m(`td`,ft,i(e(l)(p.productId)),1),m(`td`,pt,i(e(l)(p.recipeId)),1),m(`td`,mt,i(p.rowCount),1),m(`td`,ht,i(p.runIds.length),1),m(`td`,null,[S(i(p.createdBy),1),m(`small`,{class:t([`kind`,p.createdByKind])},i(p.createdByKind===`agent`?`Agent`:s.$t(`aml.k1amlx049`)),3)]),m(`td`,{class:`note-cell`,onClick:u[5]||=T(()=>{},[`stop`])},[n.noteEditing===p.id?(d(),h(`div`,gt,[_(m(`input`,{"onUpdate:modelValue":u[2]||=e=>r.value=e,placeholder:s.$t(`aml.k1amlx189`),onKeyup:[w(e=>s.$emit(`saveNote`,p.id),[`enter`]),u[3]||=w(e=>s.$emit(`cancelNote`),[`esc`])]},null,40,_t),[[E,r.value]]),m(`button`,{class:`mini-btn`,onClick:e=>s.$emit(`saveNote`,p.id)},i(s.$t(`aml.k1amlx191`)),9,vt),m(`button`,{class:`mini-btn`,onClick:u[4]||=e=>s.$emit(`cancelNote`)},i(s.$t(`aml.k1amlx202`)),1)])):(d(),h(`span`,yt,[m(`span`,{class:`note`,title:p.note},i(p.note||`--`),9,bt),m(`span`,{class:`i-tabler-pencil edit-i`,title:s.$t(`aml.k1amlx189`),onClick:e=>s.$emit(`editNote`,p.id,p.note)},null,8,xt),m(`span`,{class:`i-tabler-trash edit-i`,title:s.$t(`aml.k1amlx190`),onClick:e=>s.$emit(`remove`,p.id,s.$t(`aml.k1amlx198`))},null,8,St)]))])],10,ut),n.expandedDs===p.id?(d(),h(`tr`,Ct,[m(`td`,wt,[n.dsDetails[p.id]?.loading?(d(),h(`div`,Tt,i(s.$t(`aml.k1amlx030`)),1)):n.dsDetails[p.id]?.error?(d(),h(`div`,Et,i(s.$t(`aml.k1amlx031`))+`:`+i(n.dsDetails[p.id]?.error),1)):n.dsDetails[p.id]?.report?(d(),h(`div`,Dt,[m(`div`,null,[m(`p`,Ot,i(s.$t(`aml.k1amlx027`)),1),m(`table`,kt,[m(`thead`,null,[m(`tr`,null,[m(`th`,null,i(s.$t(`aml.k1amlx033`)),1),m(`th`,null,i(s.$t(`aml.k1amlx034`)),1),m(`th`,At,i(s.$t(`aml.k1amlx035`)),1),m(`th`,jt,i(s.$t(`aml.k1amlx036`)),1),m(`th`,Mt,i(s.$t(`aml.k1amlx037`)),1),m(`th`,Nt,i(s.$t(`aml.k1amlx038`)),1),m(`th`,Pt,i(s.$t(`aml.k1amlx039`)),1)])]),m(`tbody`,null,[(d(!0),h(g,null,f(n.dsDetails[p.id]?.report?.nodeSummaries,t=>(d(),h(`tr`,{key:t.nodeId},[m(`td`,Ft,i(t.nodeId),1),m(`td`,null,[m(`small`,It,i(t.role),1)]),m(`td`,Lt,i(e(c)(t.cleanedRatio)),1),m(`td`,Rt,i(e(c)(t.missingRatio)),1),m(`td`,zt,i(e(o)(t.mean,3)),1),m(`td`,Bt,i(e(o)(t.std,3)),1),m(`td`,Vt,i(e(o)(t.min,2))+`~`+i(e(o)(t.max,2)),1)]))),128))])])]),m(`div`,null,[m(`p`,Ht,i(s.$t(`aml.k1amlx028`)),1),n.dsDetails[p.id]?.report?.lagEstimates.length?(d(),h(`table`,Ut,[m(`thead`,null,[m(`tr`,null,[m(`th`,null,i(s.$t(`aml.k1amlx040`)),1),m(`th`,null,i(s.$t(`aml.k1amlx041`)),1),m(`th`,Wt,i(s.$t(`aml.k1amlx042`)),1),m(`th`,Gt,i(s.$t(`aml.k1amlx043`)),1)])]),m(`tbody`,null,[(d(!0),h(g,null,f(n.dsDetails[p.id]?.report?.lagEstimates,t=>(d(),h(`tr`,{key:`${t.controlId}->${t.targetId}`},[m(`td`,Kt,i(t.controlId),1),m(`td`,qt,i(t.targetId),1),m(`td`,Jt,i(t.lagSteps),1),m(`td`,Yt,i(e(o)(t.corr,3)),1)]))),128))])])):(d(),h(`p`,Xt,i(s.$t(`aml.k1amlx032`)),1)),m(`p`,Zt,i(s.$t(`aml.k1amlx029`)),1),m(`p`,Qt,[S(i(s.$t(`aml.k1amlx044`))+` `,1),m(`b`,null,i(n.dsDetails[p.id]?.report?.runsUsed.length??0),1),S(` · `+i(s.$t(`aml.k1amlx045`))+` `,1),m(`b`,null,i(n.dsDetails[p.id]?.report?.runsDropped.length??0),1),S(` · `+i(s.$t(`aml.k1amlx046`))+` `,1),m(`b`,null,i(n.dsDetails[p.id]?.report?.windowCount.train)+`/`+i(n.dsDetails[p.id]?.report?.windowCount.val)+`/`+i(n.dsDetails[p.id]?.report?.windowCount.test),1)]),(d(!0),h(g,null,f(n.dsDetails[p.id]?.report?.runsDropped,t=>(d(),h(`p`,{key:t.runId,class:`mono drop-line`},` ✗ `+i(e(l)(t.runId))+` — `+i(t.reason),1))),128))])])):(d(),h(`p`,$t,i(s.$t(`aml.k1amlx047`)),1))])])):y(``,!0)],64))),128))])])])):(d(),h(`p`,en,i(s.$t(`aml.k1amlx019`)),1))]))}}),[[`__scopeId`,`data-v-7702fce2`]]),{__name:`AmlDatasetTable`}),nn={class:`aw-tile zone`},rn={class:`zone-head`},an={class:`mono cnt`},on=[`title`],sn={key:0,class:`tbl-scroll`},cn={class:`tbl tbl-jobs`},ln={class:`prog-th`},un={class:`right`},dn=[`onClick`],fn={class:`mono`},pn={class:`mono dim`},mn={class:`mono dim`},hn={class:`mono dim`},gn={class:`prog-cell`},_n={class:`prog`},vn={class:`mono prog-num`},yn={class:`mono dim`},bn={class:`right acts`},xn=[`disabled`,`onClick`],Sn=[`disabled`,`onClick`],Cn=[`title`,`onClick`],wn={key:0,class:`detail-row`},Tn={colspan:`8`},En={key:0,class:`dim pad`},Dn={key:1,class:`err pad`},On={key:2,class:`det-grid`},kn={class:`det-title`},An={key:0,class:`sub-tbl`},jn={class:`num`},Mn={class:`num`},Nn={class:`mono gate-id`},Pn={class:`dim`},Fn={class:`mono num`},In={class:`mono num dim`},Ln={class:`dim gate-detail`},Rn={key:1,class:`dim`},zn={key:2,class:`mono dim gate-detail`},Bn={key:3,class:`err gate-detail`},Vn={class:`det-title`},Hn={key:0,class:`mono live-hint`},Un={class:`logs`},Wn={key:1,class:`empty`},Gn=Object.assign(k(u({__name:`AmlJobsTable`,props:{jobRows:{},expandedJob:{},jobDetails:{},confirmCancel:{},cancelling:{},confirmRetry:{},retrying:{}},emits:[`toggle`,`reload`,`cancel`,`retry`,`remove`],setup(r){let{fmtTime:a,fmtNum:o,shortId:s,statusLabel:c,isActiveStatus:l,canRetry:u}=j();return(p,_)=>(d(),h(`section`,nn,[m(`div`,rn,[m(`h2`,null,[_[1]||=m(`span`,{class:`i-tabler-brain`},null,-1),S(` `+i(p.$t(`aml.k1amlx074`))+` `,1),m(`b`,an,i(r.jobRows.length),1),r.jobRows.some(t=>e(l)(t.status))?(d(),h(`span`,{key:0,class:`live-dot`,title:p.$t(`aml.k1amlx091`)},null,8,on)):y(``,!0)]),m(`button`,{class:`mini-btn`,onClick:_[0]||=e=>p.$emit(`reload`)},i(p.$t(`aml.k1amlx017`)),1)]),r.jobRows.length?(d(),h(`div`,sn,[m(`table`,cn,[m(`thead`,null,[m(`tr`,null,[m(`th`,null,i(p.$t(`aml.k1amlx076`)),1),m(`th`,null,i(p.$t(`aml.k1amlx011`)),1),m(`th`,null,i(p.$t(`aml.k1amlx066`)),1),m(`th`,null,i(p.$t(`aml.k1amlx077`)),1),m(`th`,null,i(p.$t(`aml.k1amlx078`)),1),m(`th`,ln,i(p.$t(`aml.k1amlx079`)),1),m(`th`,null,i(p.$t(`aml.k1amlx020`)),1),m(`th`,un,i(p.$t(`aml.k1amlx127`)),1)])]),m(`tbody`,null,[(d(!0),h(g,null,f(r.jobRows,_=>(d(),h(g,{key:_.id},[m(`tr`,{class:t([`row-main`,{open:r.expandedJob===_.id}]),onClick:e=>p.$emit(`toggle`,_.id)},[m(`td`,fn,i(e(s)(_.id)),1),m(`td`,pn,i(e(s)(_.datasetId)),1),m(`td`,mn,i(_.purpose),1),m(`td`,null,[m(`span`,{class:t([`st-pill`,_.status])},i(e(c)(_.status)),3)]),m(`td`,hn,i(_.stage||`--`),1),m(`td`,gn,[m(`span`,_n,[m(`i`,{style:n({width:`${Math.max(0,Math.min(100,_.progress))}%`}),class:t({done:_.status===`done`,bad:_.status===`failed`})},null,6)]),m(`span`,vn,i(Math.round(_.progress))+`%`,1)]),m(`td`,yn,i(e(a)(_.createdAt)),1),m(`td`,bn,[e(l)(_.status)?(d(),h(`button`,{key:0,class:`mini-btn danger`,disabled:r.cancelling===_.id,onClick:T(e=>p.$emit(`cancel`,_.id),[`stop`])},i(r.confirmCancel===_.id?p.$t(`aml.k1amlx094`):r.cancelling===_.id?p.$t(`aml.k1amlx093`):p.$t(`aml.k1amlx071`)),9,xn)):y(``,!0),e(u)(_.status)?(d(),h(`button`,{key:1,class:`mini-btn`,disabled:r.retrying===_.id,onClick:T(e=>p.$emit(`retry`,_.id),[`stop`])},i(r.confirmRetry===_.id?p.$t(`aml.k1amlx096`):p.$t(`aml.k1amlx095`)),9,Sn)):y(``,!0),e(l)(_.status)?y(``,!0):(d(),h(`span`,{key:2,class:`i-tabler-trash edit-i`,title:p.$t(`aml.k1amlx190`),onClick:T(e=>p.$emit(`remove`,_.id,p.$t(`aml.k1amlx200`)),[`stop`])},null,8,Cn))])],10,dn),r.expandedJob===_.id?(d(),h(`tr`,wn,[m(`td`,Tn,[r.jobDetails[_.id]?.loading?(d(),h(`div`,En,i(p.$t(`aml.k1amlx030`)),1)):r.jobDetails[_.id]?.error?(d(),h(`div`,Dn,i(r.jobDetails[_.id]?.error),1)):(d(),h(`div`,On,[m(`div`,null,[m(`p`,kn,i(p.$t(`aml.k1amlx083`)),1),r.jobDetails[_.id]?.gates?.checks.length?(d(),h(`table`,An,[m(`thead`,null,[m(`tr`,null,[m(`th`,null,i(p.$t(`aml.k1amlx084`)),1),m(`th`,jn,i(p.$t(`aml.k1amlx085`)),1),m(`th`,Mn,i(p.$t(`aml.k1amlx086`)),1),m(`th`,null,i(p.$t(`aml.k1amlx118`)),1)])]),m(`tbody`,null,[(d(!0),h(g,null,f(r.jobDetails[_.id]?.gates?.checks,n=>(d(),h(`tr`,{key:n.id},[m(`td`,null,[m(`b`,Nn,i(n.id),1),m(`small`,Pn,i(n.name),1)]),m(`td`,Fn,i(e(o)(n.value)),1),m(`td`,In,i(e(o)(n.threshold)),1),m(`td`,null,[m(`span`,{class:t([`verdict`,n.pass?`pass`:`fail`])},i(n.pass?p.$t(`aml.k1amlx087`):p.$t(`aml.k1amlx088`)),3),m(`small`,Ln,i(n.detail),1)])]))),128))])])):(d(),h(`p`,Rn,i(p.$t(`aml.k1amlx082`)),1)),r.jobDetails[_.id]?.metrics?.oneStepTest?(d(),h(`p`,zn,[S(i(p.$t(`aml.k1amlx099`))+`: `+i(p.$t(`aml.k1amlx116`))+` `+i(e(o)(r.jobDetails[_.id]?.metrics?.oneStepTest?.nrmse))+` `,1),r.jobDetails[_.id]?.metrics?.rolloutTest?(d(),h(g,{key:0},[S(` · `+i(p.$t(`aml.k1amlx117`))+` `+i(e(o)(r.jobDetails[_.id]?.metrics?.rolloutTest?.nrmse)),1)],64)):y(``,!0)])):y(``,!0),_.error?(d(),h(`p`,Bn,i(p.$t(`aml.k1amlx092`))+`:`+i(_.error),1)):y(``,!0)]),m(`div`,null,[m(`p`,Vn,[S(i(p.$t(`aml.k1amlx089`))+` `,1),e(l)(_.status)?(d(),h(`span`,Hn,i(p.$t(`aml.k1amlx091`)),1)):y(``,!0)]),m(`pre`,Un,i((r.jobDetails[_.id]?.logs??[]).join(`
|
|
3
|
-
`)||p.$t(`aml.k1amlx090`)),1)])]))])])):y(``,!0)],64))),128))])])])):(d(),h(`p`,Wn,i(p.$t(`aml.k1amlx075`)),1))]))}}),[[`__scopeId`,`data-v-de392e34`]]),{__name:`AmlJobsTable`}),Kn={class:`aw-tile zone`},qn={class:`zone-head`},Jn={class:`mono cnt`},Yn={class:`zone-actions`},Xn={value:``},Zn=[`value`],Qn=[`disabled`],$n={key:0,class:`tbl-scroll`},er={class:`tbl tbl-exp`},tr=[`title`],nr=[`title`],rr={class:`mono`},ir={key:0,class:`best-tag`},ar={class:`mono dim`},or={class:`note-cell`},sr=[`title`],cr={class:`mono dim`},lr={class:`mono num`},ur={class:`mono num`},dr={key:1,class:`empty`},fr={key:2,class:`err pad`},pr=Object.assign(k(u({__name:`AmlExperimentsTable`,props:v({datasets:{},experiments:{},bestExpId:{},expError:{}},{expDatasetId:{required:!0},expDatasetIdModifiers:{}}),emits:v([`reload`],[`update:expDatasetId`]),setup(n){let r=s(n,`expDatasetId`),{fmtTime:a,fmtNum:o,shortId:c,expStatusLabel:l}=j();return(s,u)=>(d(),h(`section`,Kn,[m(`div`,qn,[m(`h2`,null,[u[3]||=m(`span`,{class:`i-tabler-trophy`},null,-1),S(` `+i(s.$t(`aml.k1amlx109`))+` `,1),m(`b`,Jn,i(n.experiments.length),1)]),m(`div`,Yn,[_(m(`select`,{"onUpdate:modelValue":u[0]||=e=>r.value=e,class:`inp-sel`,onChange:u[1]||=e=>s.$emit(`reload`)},[m(`option`,Xn,i(s.$t(`aml.k1amlx111`)),1),(d(!0),h(g,null,f(n.datasets,t=>(d(),h(`option`,{key:t.id,value:t.id},i(e(c)(t.id))+` · `+i(e(c)(t.recipeId)),9,Zn))),128))],544),[[C,r.value]]),m(`button`,{class:`mini-btn`,disabled:!r.value,onClick:u[2]||=e=>s.$emit(`reload`)},i(s.$t(`aml.k1amlx017`)),9,Qn)])]),n.experiments.length?(d(),h(`div`,$n,[m(`table`,er,[m(`thead`,null,[m(`tr`,null,[m(`th`,null,i(s.$t(`aml.k1amlx113`)),1),m(`th`,null,i(s.$t(`aml.k1amlx020`)),1),m(`th`,null,i(s.$t(`aml.k1amlx114`)),1),m(`th`,null,i(s.$t(`aml.k1amlx115`)),1),m(`th`,{class:`num`,title:s.$t(`aml.k1amlx121`)},i(s.$t(`aml.k1amlx116`)),9,tr),m(`th`,{class:`num`,title:s.$t(`aml.k1amlx122`)},i(s.$t(`aml.k1amlx117`)),9,nr),m(`th`,null,i(s.$t(`aml.k1amlx118`)),1)])]),m(`tbody`,null,[(d(!0),h(g,null,f(n.experiments,r=>(d(),h(`tr`,{key:r.id,class:t({best:r.id===n.bestExpId})},[m(`td`,rr,[r.id===n.bestExpId?(d(),h(`span`,ir,i(s.$t(`aml.k1amlx120`)),1)):y(``,!0),S(` `+i(e(c)(r.id)),1)]),m(`td`,ar,i(e(a)(r.createdAt)),1),m(`td`,or,[m(`span`,{class:`note`,title:r.changeNote},i(r.changeNote||`--`),9,sr)]),m(`td`,cr,i(r.parentExperimentId?e(c)(r.parentExperimentId):`--`),1),m(`td`,lr,i(e(o)(r.metrics?.oneStepTest?.nrmse)),1),m(`td`,ur,i(e(o)(r.metrics?.rolloutTest?.nrmse)),1),m(`td`,null,[m(`span`,{class:t([`st-pill`,r.status])},i(e(l)(r.status)),3)])],2))),128))])])])):(d(),h(`p`,dr,i(r.value?s.$t(`aml.k1amlx112`):s.$t(`aml.k1amlx110`)),1)),n.expError?(d(),h(`p`,fr,i(n.expError),1)):y(``,!0)]))}}),[[`__scopeId`,`data-v-56917d4e`]]),{__name:`AmlExperimentsTable`}),mr={class:`aw-tile zone`},hr={class:`zone-head`},gr={class:`mono cnt`},_r={key:0,class:`tbl-scroll`},vr={class:`tbl tbl-models`},yr=[`title`],br={class:`right`},xr={class:`mono`},Sr=[`title`],Cr={class:`label-text`},wr=[`title`],Tr={class:`mono dim`},Er={class:`mono dim`},Dr={class:`mono dim`},Or={class:`mono dim`},kr={key:0,class:`note-edit`},Ar=[`placeholder`,`onKeyup`],jr=[`onClick`],Mr={key:1,class:`note-text`},Nr=[`title`],Pr=[`title`,`onClick`],Fr={class:`right acts`},Ir=[`disabled`,`onClick`],Lr={key:0,class:`dim`},Rr=[`title`,`onClick`],zr={key:1,class:`empty`},Br=Object.assign(k(u({__name:`AmlModelsTable`,props:v({models:{},noteEditing:{},confirmPromote:{},promoting:{}},{noteDraft:{required:!0},noteDraftModifiers:{}}),emits:v([`reload`,`editNote`,`saveNote`,`cancelNote`,`promote`,`remove`],[`update:noteDraft`]),setup(n){let r=s(n,`noteDraft`),{fmtTime:a,fmtNum:o,shortId:c}=j();return(s,l)=>(d(),h(`section`,mr,[m(`div`,hr,[m(`h2`,null,[l[5]||=m(`span`,{class:`i-tabler-cube-3d-sphere`},null,-1),S(` `+i(s.$t(`aml.k1amlx123`))+` `,1),m(`b`,gr,i(n.models.length),1)]),m(`button`,{class:`mini-btn`,onClick:l[0]||=e=>s.$emit(`reload`)},i(s.$t(`aml.k1amlx017`)),1)]),n.models.length?(d(),h(`div`,_r,[m(`table`,vr,[m(`thead`,null,[m(`tr`,null,[m(`th`,null,i(s.$t(`aml.k1amlx125`)),1),m(`th`,null,i(s.$t(`aml.k1amlx204`)),1),m(`th`,null,i(s.$t(`aml.k1amlx021`)),1),m(`th`,null,i(s.$t(`aml.k1amlx022`)),1),m(`th`,null,i(s.$t(`aml.k1amlx078`)),1),m(`th`,{title:s.$t(`aml.k1amlx126`)},i(s.$t(`aml.k1amlx099`)),9,yr),m(`th`,null,i(s.$t(`aml.k1amlx020`)),1),m(`th`,null,i(s.$t(`aml.k1amlx026`)),1),m(`th`,br,i(s.$t(`aml.k1amlx127`)),1)])]),m(`tbody`,null,[(d(!0),h(g,null,f(n.models,u=>(d(),h(`tr`,{key:u.id},[m(`td`,xr,i(e(c)(u.id)),1),m(`td`,{class:`label-cell`,title:u.description||u.label},[m(`span`,Cr,i(u.label||`--`),1),u.description?(d(),h(`span`,{key:0,class:`desc-text`,title:u.description},i(u.description),9,wr)):y(``,!0)],8,Sr),m(`td`,Tr,i(e(c)(u.productId)),1),m(`td`,Er,i(e(c)(u.recipeId)),1),m(`td`,null,[m(`span`,{class:t([`stage-pill`,u.stage])},i(u.stage),3)]),m(`td`,Dr,i(s.$t(`aml.k1amlx116`))+` `+i(e(o)(u.metrics?.oneStepTest?.nrmse))+` · `+i(s.$t(`aml.k1amlx117`))+` `+i(e(o)(u.metrics?.rolloutTest?.nrmse)),1),m(`td`,Or,i(e(a)(u.createdAt)),1),m(`td`,{class:`note-cell`,onClick:l[4]||=T(()=>{},[`stop`])},[n.noteEditing===u.id?(d(),h(`div`,kr,[_(m(`input`,{"onUpdate:modelValue":l[1]||=e=>r.value=e,placeholder:s.$t(`aml.k1amlx189`),onKeyup:[w(e=>s.$emit(`saveNote`,u.id),[`enter`]),l[2]||=w(e=>s.$emit(`cancelNote`),[`esc`])]},null,40,Ar),[[E,r.value]]),m(`button`,{class:`mini-btn`,onClick:e=>s.$emit(`saveNote`,u.id)},i(s.$t(`aml.k1amlx191`)),9,jr),m(`button`,{class:`mini-btn`,onClick:l[3]||=e=>s.$emit(`cancelNote`)},i(s.$t(`aml.k1amlx202`)),1)])):(d(),h(`span`,Mr,[m(`span`,{class:`note`,title:u.note},i(u.note||`--`),9,Nr),m(`span`,{class:`i-tabler-pencil edit-i`,title:s.$t(`aml.k1amlx189`),onClick:e=>s.$emit(`editNote`,u.id,u.note)},null,8,Pr)]))]),m(`td`,Fr,[(d(!0),h(g,null,f(e(A)(u),e=>(d(),h(`button`,{key:e.to,class:t([`mini-btn`,{danger:e.to===`retired`}]),disabled:n.promoting===`${u.id}:${e.to}`,onClick:t=>s.$emit(`promote`,u,e.to)},i(n.confirmPromote===`${u.id}:${e.to}`?s.$t(`aml.k1amlx131`):s.$t(e.key)),11,Ir))),128)),e(A)(u).length===0?(d(),h(`span`,Lr,`--`)):y(``,!0),m(`span`,{class:`i-tabler-trash edit-i`,title:s.$t(`aml.k1amlx190`),onClick:e=>s.$emit(`remove`,u.id,s.$t(`aml.k1amlx199`))},null,8,Rr)])]))),128))])])])):(d(),h(`p`,zr,i(s.$t(`aml.k1amlx124`)),1))]))}}),[[`__scopeId`,`data-v-cdf91f1d`]]),{__name:`AmlModelsTable`}),Vr={class:`aw-tile zone`},Hr={class:`zone-head`},Ur={value:``},Wr=[`value`],Gr={key:0,class:`pc-body`},Kr={class:`det-title`},qr={class:`io-grid mono`},Jr={class:`io-item`},Yr={class:`io-item`},Xr={class:`io-item`},Zr=[`title`],Qr=[`title`],$r=[`title`],ei={class:`pc-form`},ti={class:`pc-field`},ni=[`placeholder`],ri={class:`pc-side`},ii={class:`pc-field`},ai={class:`pc-field`},oi=[`disabled`],si={class:`hint dim`},ci={key:0,class:`err`},li={class:`det-title`},ui={class:`sub-tbl`},di={class:`num`},fi={class:`num`},pi={key:0,class:`dim`},mi={class:`mono num`},hi={class:`mono num dim`},gi={class:`mono dim gate-detail`},_i={key:1,class:`empty`},vi={key:1,class:`empty`},yi=Object.assign(k(u({__name:`AmlPredictConsole`,props:{models:{}},setup(t){let n=t,{productionModels:r,predModelId:o,predModel:s,predHistory:c,predControls:l,predSteps:u,predBusy:p,predError:v,predResult:b,onPullLatest:x,doPredict:w}=M(()=>n.models),{fmtNum:T,shortId:D}=j();return(t,n)=>(d(),h(`section`,Vr,[m(`div`,Hr,[m(`h2`,null,[n[6]||=m(`span`,{class:`i-tabler-chart-line`},null,-1),S(` `+i(t.$t(`aml.k1amlx133`)),1)]),e(r).length?_((d(),h(`select`,{key:0,"onUpdate:modelValue":n[0]||=e=>a(o)?o.value=e:null,class:`inp-sel`},[m(`option`,Ur,i(t.$t(`aml.k1amlx134`)),1),(d(!0),h(g,null,f(e(r),t=>(d(),h(`option`,{key:t.id,value:t.id},i(e(D)(t.id))+` · `+i(e(D)(t.recipeId)),9,Wr))),128))],512)),[[C,e(o)]]):y(``,!0)]),e(r).length?(d(),h(g,{key:0},[e(s)?.ioSpec?(d(),h(`div`,Gr,[m(`p`,Kr,i(t.$t(`aml.k1amlx136`)),1),m(`div`,qr,[m(`span`,Jr,[S(i(t.$t(`aml.k1amlx140`))+` `,1),m(`b`,null,i(e(s).ioSpec.historySteps),1)]),m(`span`,Yr,[S(i(t.$t(`aml.k1amlx141`))+` `,1),m(`b`,null,i(e(s).ioSpec.horizonSteps),1)]),m(`span`,Xr,[S(i(t.$t(`aml.k1amlx142`))+` `,1),m(`b`,null,i(e(s).ioSpec.beatMs)+`ms`,1)]),m(`span`,{class:`io-item`,title:e(s).ioSpec.allNodes.join(`, `)},[S(i(t.$t(`aml.k1amlx137`))+`(`+i(e(s).ioSpec.allNodes.length)+`) `,1),m(`b`,null,i(e(s).ioSpec.allNodes.map(t=>e(D)(t)).join(`, `)),1)],8,Zr),m(`span`,{class:`io-item`,title:e(s).ioSpec.controlNodes.join(`, `)},[S(i(t.$t(`aml.k1amlx138`))+` `,1),m(`b`,null,i(e(s).ioSpec.controlNodes.map(t=>e(D)(t)).join(`, `)),1)],8,Qr),m(`span`,{class:`io-item`,title:e(s).ioSpec.targetNodes.join(`, `)},[S(i(t.$t(`aml.k1amlx139`))+` `,1),m(`b`,null,i(e(s).ioSpec.targetNodes.map(t=>e(D)(t)).join(`, `)),1)],8,$r)]),m(`div`,ei,[m(`label`,ti,[m(`span`,null,i(t.$t(`aml.k1amlx143`)),1),_(m(`textarea`,{"onUpdate:modelValue":n[1]||=e=>a(c)?c.value=e:null,class:`inp area`,rows:`5`,placeholder:t.$t(`aml.k1amlx144`)},null,8,ni),[[E,e(c)]])]),m(`div`,ri,[m(`button`,{class:`ghost-btn`,onClick:n[2]||=(...t)=>e(x)&&e(x)(...t)},[n[7]||=m(`span`,{class:`i-tabler-download`},null,-1),S(` `+i(t.$t(`aml.k1amlx145`)),1)]),m(`label`,ii,[m(`span`,null,i(t.$t(`aml.k1amlx156`)),1),_(m(`textarea`,{"onUpdate:modelValue":n[3]||=e=>a(l)?l.value=e:null,class:`inp area`,rows:`3`,placeholder:`[[…]]`},null,512),[[E,e(l)]])]),m(`label`,ai,[m(`span`,null,i(t.$t(`aml.k1amlx147`)),1),_(m(`input`,{"onUpdate:modelValue":n[4]||=e=>a(u)?u.value=e:null,type:`number`,min:`1`,class:`inp`},null,512),[[E,e(u),void 0,{number:!0}]])]),m(`button`,{class:`pill-btn`,disabled:e(p)||!e(c).trim(),onClick:n[5]||=(...t)=>e(w)&&e(w)(...t)},i(e(p)?t.$t(`aml.k1amlx149`):t.$t(`aml.k1amlx148`)),9,oi)])]),m(`p`,si,i(t.$t(`aml.k1amlx146`)),1),e(v)?(d(),h(`p`,ci,i(e(v)),1)):y(``,!0),e(b)?(d(),h(g,{key:1},[m(`p`,li,i(t.$t(`aml.k1amlx150`)),1),m(`table`,ui,[m(`thead`,null,[m(`tr`,null,[m(`th`,di,i(t.$t(`aml.k1amlx151`)),1),m(`th`,fi,i(t.$t(`aml.k1amlx152`)),1),(d(!0),h(g,null,f(e(b).targetNodes,(n,r)=>(d(),h(`th`,{key:n,class:`num`},[S(i(e(D)(n)),1),r===0?(d(),h(`small`,pi,` (`+i(t.$t(`aml.k1amlx041`))+`)`,1)):y(``,!0)]))),128))])]),m(`tbody`,null,[(d(!0),h(g,null,f(e(b).forecast,(t,n)=>(d(),h(`tr`,{key:n},[m(`td`,mi,i(n+1),1),m(`td`,hi,i(e(T)((n+1)*e(b).beatMs/1e3,1)),1),(d(!0),h(g,null,f(t,(t,n)=>(d(),h(`td`,{key:n,class:`mono num`},i(e(T)(t,3)),1))),128))]))),128))])]),m(`p`,gi,i(t.$t(`aml.k1amlx155`))+`:`+i(e(b).assumptions),1)],64)):y(``,!0)])):(d(),h(`p`,_i,i(t.$t(`aml.k1amlx134`)),1))],64)):(d(),h(`p`,vi,i(t.$t(`aml.k1amlx135`)),1))]))}}),[[`__scopeId`,`data-v-f32229b5`]]),{__name:`AmlPredictConsole`}),bi={class:`modal`},xi={class:`m-title`},Si={class:`f-grid`},Ci={class:`f`},wi={class:`f`},Ti={class:`f`},Ei={class:`sec-label`},Di={class:`node-rows`},Oi=[`onUpdate:modelValue`,`placeholder`],ki=[`onUpdate:modelValue`],Ai={value:`control`},ji={value:`feature`},Mi={value:`target`},Ni=[`disabled`,`onClick`],Pi={class:`f-grid`},Fi={class:`f`},Ii={class:`f`},Li={class:`f`},Ri={class:`f`},zi={class:`f`},Bi={class:`f`},Vi={class:`f`},Hi={value:`mpc_surrogate`},Ui={value:`quality_predict`},Wi={class:`f wide`},Gi=[`placeholder`],Ki={key:0,class:`m-err`},qi={class:`m-actions`},Ji=[`disabled`],Yi=Object.assign(k(u({__name:`AmlDatasetFormModal`,props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:v([`created`],[`update:open`]),setup(e,{emit:t}){let n=t,a=s(e,`open`),{t:c}=ee(),{shortId:l}=j(),u=o(!1),p=o(``),v=r({lineId:``,productId:``,recipeId:``,beatMs:5e3,historySteps:60,horizonSteps:30,valRatio:.15,testRatio:.15,seed:7,purpose:`mpc_surrogate`,note:``}),b=r([{nodeId:``,role:`control`},{nodeId:``,role:`target`}]);x(a,e=>{e&&(p.value=``)});function w(){b.push({nodeId:``,role:`feature`})}function D(e){b.splice(e,1)}async function O(){p.value=``;let e=b.filter(e=>e.nodeId.trim()).map(e=>({nodeId:e.nodeId.trim(),role:e.role}));if(!v.lineId.trim()||!v.productId.trim()||!v.recipeId.trim()){p.value=c(`aml.k1amlx161`);return}if(e.length<2||!e.some(e=>e.role===`target`)){p.value=c(`aml.k1amlx054`);return}u.value=!0;try{let t=await ie(`/datasets`,{method:`POST`,body:JSON.stringify({lineId:v.lineId.trim(),productId:v.productId.trim(),recipeId:v.recipeId.trim(),nodes:e,beatMs:Number(v.beatMs),window:{historySteps:Number(v.historySteps),horizonSteps:Number(v.horizonSteps)},split:{valRatio:Number(v.valRatio),testRatio:Number(v.testRatio),seed:Number(v.seed)},purpose:v.purpose,note:v.note.trim()||void 0})});te.success(c(`aml.k1amlx073`,{p0:l(t.dataset.id),p1:t.dataset.rowCount})),a.value=!1,n(`created`)}catch(e){p.value=ne(e)}finally{u.value=!1}}return(e,t)=>a.value?(d(),h(`div`,{key:0,class:`modal-mask`,onClick:t[12]||=T(e=>a.value=!1,[`self`])},[m(`div`,bi,[m(`h3`,xi,i(e.$t(`aml.k1amlx050`)),1),m(`div`,Si,[m(`label`,Ci,[m(`span`,null,[S(i(e.$t(`aml.k1amlx051`)),1),t[13]||=m(`em`,null,`*`,-1)]),_(m(`input`,{"onUpdate:modelValue":t[0]||=e=>v.lineId=e,class:`inp`,placeholder:`line-ov-01`},null,512),[[E,v.lineId]])]),m(`label`,wi,[m(`span`,null,[S(i(e.$t(`aml.k1amlx052`)),1),t[14]||=m(`em`,null,`*`,-1)]),_(m(`input`,{"onUpdate:modelValue":t[1]||=e=>v.productId=e,class:`inp`},null,512),[[E,v.productId]])]),m(`label`,Ti,[m(`span`,null,[S(i(e.$t(`aml.k1amlx053`)),1),t[15]||=m(`em`,null,`*`,-1)]),_(m(`input`,{"onUpdate:modelValue":t[2]||=e=>v.recipeId=e,class:`inp`},null,512),[[E,v.recipeId]])])]),m(`p`,Ei,i(e.$t(`aml.k1amlx054`)),1),m(`div`,Di,[(d(!0),h(g,null,f(b,(t,n)=>(d(),h(`div`,{key:n,class:`node-row`},[_(m(`input`,{"onUpdate:modelValue":e=>t.nodeId=e,class:`inp grow`,placeholder:e.$t(`aml.k1amlx056`)},null,8,Oi),[[E,t.nodeId]]),_(m(`select`,{"onUpdate:modelValue":e=>t.role=e,class:`inp sel`},[m(`option`,Ai,i(e.$t(`aml.k1amlx057`)),1),m(`option`,ji,i(e.$t(`aml.k1amlx058`)),1),m(`option`,Mi,i(e.$t(`aml.k1amlx059`)),1)],8,ki),[[C,t.role]]),m(`button`,{class:`mini-btn danger`,disabled:b.length<=1,onClick:e=>D(n)},` ✕ `,8,Ni)]))),128)),m(`button`,{class:`mini-btn`,onClick:w},[t[16]||=m(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(e.$t(`aml.k1amlx055`)),1)])]),m(`div`,Pi,[m(`label`,Fi,[m(`span`,null,i(e.$t(`aml.k1amlx060`)),1),_(m(`input`,{"onUpdate:modelValue":t[3]||=e=>v.beatMs=e,type:`number`,min:`1000`,step:`500`,class:`inp`},null,512),[[E,v.beatMs,void 0,{number:!0}]])]),m(`label`,Ii,[m(`span`,null,i(e.$t(`aml.k1amlx061`)),1),_(m(`input`,{"onUpdate:modelValue":t[4]||=e=>v.historySteps=e,type:`number`,min:`1`,class:`inp`},null,512),[[E,v.historySteps,void 0,{number:!0}]])]),m(`label`,Li,[m(`span`,null,i(e.$t(`aml.k1amlx062`)),1),_(m(`input`,{"onUpdate:modelValue":t[5]||=e=>v.horizonSteps=e,type:`number`,min:`1`,class:`inp`},null,512),[[E,v.horizonSteps,void 0,{number:!0}]])]),m(`label`,Ri,[m(`span`,null,i(e.$t(`aml.k1amlx063`)),1),_(m(`input`,{"onUpdate:modelValue":t[6]||=e=>v.valRatio=e,type:`number`,min:`0`,max:`0.8`,step:`0.05`,class:`inp`},null,512),[[E,v.valRatio,void 0,{number:!0}]])]),m(`label`,zi,[m(`span`,null,i(e.$t(`aml.k1amlx064`)),1),_(m(`input`,{"onUpdate:modelValue":t[7]||=e=>v.testRatio=e,type:`number`,min:`0`,max:`0.8`,step:`0.05`,class:`inp`},null,512),[[E,v.testRatio,void 0,{number:!0}]])]),m(`label`,Bi,[m(`span`,null,i(e.$t(`aml.k1amlx065`)),1),_(m(`input`,{"onUpdate:modelValue":t[8]||=e=>v.seed=e,type:`number`,class:`inp`},null,512),[[E,v.seed,void 0,{number:!0}]])]),m(`label`,Vi,[m(`span`,null,i(e.$t(`aml.k1amlx066`)),1),_(m(`select`,{"onUpdate:modelValue":t[9]||=e=>v.purpose=e,class:`inp`},[m(`option`,Hi,i(e.$t(`aml.k1amlx067`)),1),m(`option`,Ui,i(e.$t(`aml.k1amlx068`)),1)],512),[[C,v.purpose]])]),m(`label`,Wi,[m(`span`,null,i(e.$t(`aml.k1amlx026`)),1),_(m(`input`,{"onUpdate:modelValue":t[10]||=e=>v.note=e,class:`inp`,placeholder:e.$t(`aml.k1amlx069`)},null,8,Gi),[[E,v.note]])])]),p.value?(d(),h(`p`,Ki,i(p.value),1)):y(``,!0),m(`div`,qi,[m(`button`,{class:`ghost-btn`,onClick:t[11]||=e=>a.value=!1},i(e.$t(`aml.k1amlx071`)),1),m(`button`,{class:`pill-btn`,disabled:u.value,onClick:O},i(u.value?e.$t(`aml.k1amlx070`):e.$t(`aml.k1amlx072`)),9,Ji)])])])):y(``,!0)}}),[[`__scopeId`,`data-v-8e9b667b`]]),{__name:`AmlDatasetFormModal`}),Xi={class:`page`},Zi=k(u({__name:`index`,setup(t){let{t:n}=ee();he({layout:`default`}),D({title:()=>n(`aml.k1amlx160`)});let{overview:r,overviewError:i,env:s,envBusy:u,inventory:f,pythonText:m,venvText:g,uvText:_,uvSourceText:v,blockerText:S,rootSourceLabel:C,loadOverview:w,loadEnv:T,loadInventory:E,startEnvPoll:te,stopEnvPoll:k,installUv:ne,createVenv:ie,recheckEnv:A,pruneOrphans:j}=le(),{datasets:M,expandedDs:_e,dsDetails:ve,loadDatasets:N,toggleDs:ye}=ae(),{jobRows:P,jobDetails:xe,expandedJob:F,confirmCancel:Se,cancelling:we,confirmRetry:Te,retrying:Ee,loadJobs:I,toggleJob:De,refreshJobLogs:Oe,onCancelJob:L,onRetryJob:R}=fe(),{expDatasetId:z,experiments:B,expError:V,bestExpId:Ae,loadExperiments:je}=ue(),{models:H,confirmPromote:Me,promoting:Ne,loadModels:U,onPromote:Pe}=pe({reloadOverview:w}),{noteEditing:W,noteDraft:G,startEditNote:K,cancelEditNote:q,saveNote:J}=me({reloadDatasets:N,reloadModels:U}),{removeEntity:Y}=oe({reloadDatasets:N,reloadModels:U,reloadJobs:I,reloadOverview:w,reloadInventory:E}),X=o(!1);function Fe(){w(),T(),E(),N(),I(),U()}let Z=de(),Ie=re(),Q=null,$=null;return l(()=>{Ie.ensureConnected(),Q=Z.ensure(),w(),T(),E(),N(),I(),U(),(s.value?.task?.status??r.value?.env?.task?.status)===`running`&&(u.value=!0,te()),ge(()=>{w(),I()},8e3,{bgMs:3e4}),$=O(()=>{let e=F.value;if(!e||document.hidden)return;let t=P.value.find(t=>t.id===e);t&&se(t.status)&&Oe(e)},5e3)}),c(()=>{Q?.(),$&&clearInterval($),k()}),x(()=>Z.lastJob.value,e=>{e&&ce(e.status)&&I()}),x(()=>Z.lastModel.value,()=>{U()}),x(()=>Z.lastDataset.value,()=>{N()}),(t,n)=>(d(),h(`div`,Xi,[p(be,{overview:e(r),env:e(s),"python-text":e(m),"venv-text":e(g),"uv-text":e(_)},null,8,[`overview`,`env`,`python-text`,`venv-text`,`uv-text`]),p(Ce,{overview:e(r)},null,8,[`overview`]),p(ke,{overview:e(r),"overview-error":e(i),"python-text":e(m),"venv-text":e(g),onReload:Fe},null,8,[`overview`,`overview-error`,`python-text`,`venv-text`]),e(s)?(d(),b(tt,{key:0,env:e(s),inventory:e(f),"env-busy":e(u),"uv-text":e(_),"uv-source-text":e(v),"blocker-text":e(S),"root-source-label":e(C),onRecheck:e(A),onInstallUv:e(ne),onCreateVenv:e(ie),onPrune:e(j)},null,8,[`env`,`inventory`,`env-busy`,`uv-text`,`uv-source-text`,`blocker-text`,`root-source-label`,`onRecheck`,`onInstallUv`,`onCreateVenv`,`onPrune`])):y(``,!0),p(tn,{"note-draft":e(G),"onUpdate:noteDraft":n[0]||=e=>a(G)?G.value=e:null,datasets:e(M),"expanded-ds":e(_e),"ds-details":e(ve),"note-editing":e(W),onToggle:e(ye),onReload:e(N),onCreate:n[1]||=e=>X.value=!0,onEditNote:e(K),onSaveNote:n[2]||=t=>e(J)(`datasets`,t),onCancelNote:e(q),onRemove:n[3]||=(t,n)=>e(Y)(`datasets`,t,n)},null,8,[`note-draft`,`datasets`,`expanded-ds`,`ds-details`,`note-editing`,`onToggle`,`onReload`,`onEditNote`,`onCancelNote`]),p(Gn,{"job-rows":e(P),"expanded-job":e(F),"job-details":e(xe),"confirm-cancel":e(Se),cancelling:e(we),"confirm-retry":e(Te),retrying:e(Ee),onToggle:e(De),onReload:e(I),onCancel:e(L),onRetry:e(R),onRemove:n[4]||=(t,n)=>e(Y)(`jobs`,t,n)},null,8,[`job-rows`,`expanded-job`,`job-details`,`confirm-cancel`,`cancelling`,`confirm-retry`,`retrying`,`onToggle`,`onReload`,`onCancel`,`onRetry`]),p(pr,{"exp-dataset-id":e(z),"onUpdate:expDatasetId":n[5]||=e=>a(z)?z.value=e:null,datasets:e(M),experiments:e(B),"best-exp-id":e(Ae),"exp-error":e(V),onReload:e(je)},null,8,[`exp-dataset-id`,`datasets`,`experiments`,`best-exp-id`,`exp-error`,`onReload`]),p(Br,{"note-draft":e(G),"onUpdate:noteDraft":n[6]||=e=>a(G)?G.value=e:null,models:e(H),"note-editing":e(W),"confirm-promote":e(Me),promoting:e(Ne),onReload:e(U),onEditNote:e(K),onSaveNote:n[7]||=t=>e(J)(`models`,t),onCancelNote:e(q),onPromote:e(Pe),onRemove:n[8]||=(t,n)=>e(Y)(`models`,t,n)},null,8,[`note-draft`,`models`,`note-editing`,`confirm-promote`,`promoting`,`onReload`,`onEditNote`,`onCancelNote`,`onPromote`]),p(yi,{models:e(H)},null,8,[`models`]),p(Yi,{open:X.value,"onUpdate:open":n[9]||=e=>X.value=e,onCreated:e(N)},null,8,[`open`,`onCreated`])]))}}),[[`__scopeId`,`data-v-e48806b2`]]);export{Zi as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.line-chip[data-v-e9045b77]{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 10px}h1[data-v-e9045b77]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-e9045b77]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-e9045b77]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.badges[data-v-e9045b77]{gap:8px;display:flex}.badge[data-v-e9045b77]{letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 10px;font-size:11.5px}@media (width<=640px){h1[data-v-e9045b77]{font-size:22px}}.mono[data-v-a8a5f635]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ctrl-card[data-v-a8a5f635]{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:14px;padding:12px 16px;display:grid}.ctrl-left[data-v-a8a5f635]{align-items:center;gap:14px;display:flex}.aw-pill.running[data-v-a8a5f635]{background:var(--accent)}.ctrl-right[data-v-a8a5f635]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 12px;display:flex}.ctrl-metrics[data-v-a8a5f635]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-right:4px;font-size:11.5px;display:flex}.ctrl-metrics .sep[data-v-a8a5f635]{opacity:.4}.ctrl-metrics .warn[data-v-a8a5f635]{color:var(--tone-warning-dot)}.add-btn[data-v-a8a5f635]{padding:8px 16px;font-size:13px}.aw-pill.outline[data-v-a8a5f635]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.ctrl-card[data-v-a8a5f635]{grid-template-columns:1fr;gap:12px;padding:12px}.ctrl-right[data-v-a8a5f635]{flex-wrap:wrap;justify-content:flex-start;gap:8px 10px}.ctrl-metrics[data-v-a8a5f635]{width:100%;margin-right:0}.aw-pill[data-v-a8a5f635]{min-height:40px}}.adopt-card[data-v-552f4486]{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.adopt-title[data-v-552f4486]{color:var(--ink-faint);flex:none;padding-top:4px;font-size:12px}.adopt-list[data-v-552f4486]{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;display:flex}.adopt-chip[data-v-552f4486]{max-width:100%;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-control);flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.mini-btn[data-v-552f4486]{margin-right:4px}.mini-btn.danger[data-v-552f4486]{color:var(--tone-danger-dot)}.mini-btn[data-v-552f4486]:hover{border-color:var(--accent);color:var(--accent)}@media (width<=900px){.adopt-card[data-v-552f4486]{padding:12px}.mini-btn[data-v-552f4486]{min-height:40px}}.mono[data-v-776dcdba]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-776dcdba]{opacity:.55}.banner[data-v-776dcdba]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-776dcdba]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-776dcdba]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.inp[data-v-776dcdba]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.line-run-card[data-v-776dcdba]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 18px;display:flex}.line-status[data-v-776dcdba]{align-items:center;gap:12px;min-width:260px;display:flex}.line-dot[data-v-776dcdba]{background:var(--tone-neutral-dot);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tone-neutral-dot) 20%, transparent);border-radius:50%}.line-dot.on[data-v-776dcdba]{background:var(--tone-success-dot);box-shadow:0 0 0 4px color-mix(in srgb, var(--tone-success-dot) 22%, transparent);animation:1.6s infinite linePulse-776dcdba}@keyframes linePulse-776dcdba{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--tone-success-dot) 25%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--tone-success-dot) 8%, transparent)}}.line-info b[data-v-776dcdba]{font-size:14px}.line-info small[data-v-776dcdba]{margin-top:2px;font-size:11px;display:block}.line-ctl[data-v-776dcdba]{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.ctl-sel[data-v-776dcdba]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11px;display:flex}.ctl-sel .inp[data-v-776dcdba]{min-width:150px}@media (width<=900px){.line-run-card[data-v-776dcdba]{gap:12px;padding:12px}.line-status[data-v-776dcdba]{min-width:0}.line-ctl[data-v-776dcdba]{width:100%}.ctl-sel[data-v-776dcdba]{flex:140px;min-width:0}.ctl-sel .inp[data-v-776dcdba]{width:100%;min-width:0}.line-ctl .pill-btn[data-v-776dcdba]{flex:120px}.inp[data-v-776dcdba],.pill-btn[data-v-776dcdba]{min-height:40px}}.mono[data-v-2dbd44ea]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-2dbd44ea]{opacity:.55}.banner[data-v-2dbd44ea]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-2dbd44ea]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-2dbd44ea]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.tpl-hint[data-v-2dbd44ea]{margin:0 0 10px;font-size:12px}.tpl-chips[data-v-2dbd44ea]{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.tpl-chip[data-v-2dbd44ea]{color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex-wrap:wrap;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;display:inline-flex}.tpl-chip small[data-v-2dbd44ea]{color:var(--ink-faint)}.tpl-tag[data-v-2dbd44ea]{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--radius-pill);padding:1px 6px;font-size:11.5px;font-style:normal}.tpl-tag.builtin[data-v-2dbd44ea]{color:var(--ink-faint);border-color:var(--line-strong)}.inp[data-v-2dbd44ea]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.sec-label[data-v-2dbd44ea]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.modal-mask[data-v-2dbd44ea]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-2dbd44ea]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-2dbd44ea]{margin:0 0 14px;font-size:17px}.f-grid[data-v-2dbd44ea]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.f[data-v-2dbd44ea]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-2dbd44ea]{margin-left:3px;font-style:normal}.m-err[data-v-2dbd44ea]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-actions[data-v-2dbd44ea]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-2dbd44ea]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.aw-pill[data-v-2dbd44ea],.inp[data-v-2dbd44ea],.pill-btn[data-v-2dbd44ea],.tpl-chip[data-v-2dbd44ea]{min-height:40px}.f-grid[data-v-2dbd44ea]{grid-template-columns:1fr}.modal[data-v-2dbd44ea]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.m-actions[data-v-2dbd44ea]{flex-wrap:wrap}.m-actions[data-v-2dbd44ea]>*{flex:auto}}.inp[data-v-502b8a4c]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.cal-form[data-v-502b8a4c]{grid-template-columns:2fr 1fr;align-items:end}.modal-mask[data-v-502b8a4c]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-502b8a4c]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-502b8a4c]{margin:0 0 14px;font-size:17px}.seg-row[data-v-502b8a4c]{gap:8px;margin-bottom:14px;display:flex}.seg[data-v-502b8a4c]{cursor:pointer;color:var(--ink-faint);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex:1;padding:8px 0;font-size:13px}.seg.on[data-v-502b8a4c]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.f-grid[data-v-502b8a4c]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.driver-form[data-v-502b8a4c]{grid-template-columns:repeat(3,1fr)}.driver-form .map-field[data-v-502b8a4c]{grid-column:1/-1}.cfg-map[data-v-502b8a4c]{font-family:var(--font-mono);resize:vertical;font-size:11.5px;line-height:1.5}.field-hint[data-v-502b8a4c]{color:var(--ink-faint);font-size:10px;line-height:1.35}.f[data-v-502b8a4c]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-502b8a4c]{margin-left:3px;font-style:normal}.hint[data-v-502b8a4c]{color:var(--ink-faint);font-size:11.5px}.test-row[data-v-502b8a4c]{align-items:center;gap:10px;margin:6px 0 4px;display:flex}.test-result[data-v-502b8a4c]{font-family:var(--font-mono);font-size:11px}.test-result.good[data-v-502b8a4c]{color:var(--tone-success-dot)}.test-result.bad[data-v-502b8a4c]{color:var(--tone-danger-dot)}.m-err[data-v-502b8a4c]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-actions[data-v-502b8a4c]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-502b8a4c]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.aw-pill[data-v-502b8a4c],.inp[data-v-502b8a4c],.pill-btn[data-v-502b8a4c]{min-height:40px}.f-grid[data-v-502b8a4c],.driver-form[data-v-502b8a4c],.cal-form[data-v-502b8a4c]{grid-template-columns:1fr}.modal[data-v-502b8a4c]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.seg[data-v-502b8a4c]{min-height:40px;padding:10px 0}.m-actions[data-v-502b8a4c]{flex-wrap:wrap}.m-actions[data-v-502b8a4c]>*{flex:auto}}.mono[data-v-de90ea26]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ap-card[data-v-de90ea26]{border-color:color-mix(in srgb, var(--tone-warning-dot) 35%, transparent);margin-bottom:14px;padding:12px 18px}.ap-head[data-v-de90ea26]{align-items:baseline;gap:8px;display:flex}.ap-head b[data-v-de90ea26]{font-size:13.5px}.ap-count[data-v-de90ea26]{color:var(--tone-warning-dot);border:1px solid var(--tone-warning-dot);border-radius:4px;padding:0 7px;font-size:11.5px}.ap-rule[data-v-de90ea26]{color:var(--ink-faint);margin-left:auto;font-size:10.5px}.ap-row[data-v-de90ea26]{border-top:1px solid var(--divider-hair);align-items:center;gap:10px;padding:9px 0;display:flex}.ap-row[data-v-de90ea26]:first-of-type{border-top:0;margin-top:8px}.ap-main[data-v-de90ea26]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ap-line[data-v-de90ea26]{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.ap-node[data-v-de90ea26]{font-size:12.5px;font-weight:600}.ap-detail[data-v-de90ea26]{color:var(--ink-soft);overflow-wrap:anywhere;font-size:12px}.ap-meta[data-v-de90ea26]{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.ap-ttl[data-v-de90ea26]{color:var(--tone-warning-dot)}.ap-ttl.urgent[data-v-de90ea26]{color:var(--tone-danger-dot)}.ap-ttl.hold[data-v-de90ea26]{color:var(--tone-info-dot)}.ap-comment[data-v-de90ea26]{flex:none;width:240px;padding:5px 9px;font-size:12px}.ap-actions[data-v-de90ea26]{flex:none;gap:6px;display:flex}.ap-ok[data-v-de90ea26]{color:var(--tone-success-dot)}@media (width<=900px){.ap-card[data-v-de90ea26]{padding:12px}.ap-rule[data-v-de90ea26]{margin-left:0}.ap-row[data-v-de90ea26]{flex-wrap:wrap}.ap-comment[data-v-de90ea26]{flex:100%;width:auto}.ap-actions[data-v-de90ea26]{margin-left:auto}.inp[data-v-de90ea26],.mini-btn[data-v-de90ea26]{min-height:40px}}.mono[data-v-fe811635]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.inp[data-v-fe811635]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.rp-card[data-v-fe811635]{border-color:color-mix(in srgb, var(--tone-warning-dot) 35%, transparent);margin-bottom:14px;padding:12px 18px}.rp-head[data-v-fe811635]{align-items:baseline;gap:8px;display:flex}.rp-head b[data-v-fe811635]{font-size:13.5px}.rp-count[data-v-fe811635]{color:var(--tone-warning-dot);border:1px solid var(--tone-warning-dot);border-radius:4px;padding:0 7px;font-size:11.5px}.rp-rule[data-v-fe811635]{color:var(--ink-faint);margin-left:auto;font-size:10.5px}.rp-err[data-v-fe811635]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.rp-row[data-v-fe811635]{border-top:1px solid var(--divider-hair);padding:10px 0}.rp-row[data-v-fe811635]:first-of-type{border-top:0;margin-top:8px}.rp-banner[data-v-fe811635]{border-radius:var(--radius-chip);margin:0 0 8px;padding:6px 10px;font-size:12px}.rp-banner.bad[data-v-fe811635]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.rp-banner.warn[data-v-fe811635]{color:var(--tone-warning-dot);background:var(--tone-warning-bg);border:1px solid color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.rp-rowhead[data-v-fe811635]{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.rp-recipe[data-v-fe811635]{font-size:12.5px;font-weight:600}.rp-summary[data-v-fe811635]{color:var(--ink-faint);font-size:11px}.rp-tabs[data-v-fe811635]{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.rp-tab[data-v-fe811635]{color:var(--ink-faint);cursor:pointer;border:1px solid var(--divider-hair);transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:999px;align-items:baseline;gap:6px;padding:4px 11px;font-family:inherit;font-size:12px;display:inline-flex}.rp-tab[data-v-fe811635]:hover:not(:disabled){color:var(--ink-soft);border-color:var(--ink-fainter)}.rp-tab.active[data-v-fe811635]{color:var(--ink);background:var(--paper-deep);border-color:var(--ink-fainter);font-weight:600}.rp-tab[data-v-fe811635]:disabled{opacity:.45;cursor:default}.rp-tab-name[data-v-fe811635]{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.rp-tab-count[data-v-fe811635]{color:var(--ink-faint);font-size:10.5px}.rp-hint[data-v-fe811635]{color:var(--ink-faint);margin:8px 0 0;font-size:12px}.rp-pkg[data-v-fe811635]{margin-top:8px}.rp-rationale[data-v-fe811635]{color:var(--ink-soft);overflow-wrap:anywhere;margin-bottom:6px;font-size:11.5px;display:block}.rp-table-wrap[data-v-fe811635]{overflow-x:auto}.rp-table[data-v-fe811635]{border-collapse:collapse;width:100%;font-size:12px}.rp-table th[data-v-fe811635]{text-align:left;color:var(--ink-faint);white-space:nowrap;border-bottom:1px solid var(--divider-hair);padding:4px 10px 4px 0;font-size:10.5px;font-weight:500}.rp-table td[data-v-fe811635]{vertical-align:top;border-bottom:1px solid var(--divider-hair);padding:5px 10px 5px 0}.rp-table tr:last-child td[data-v-fe811635]{border-bottom:0}.rp-param[data-v-fe811635]{white-space:nowrap;font-weight:600}.rp-change[data-v-fe811635]{color:var(--ink-soft);white-space:nowrap;font-size:12px}.rp-unit[data-v-fe811635]{color:var(--ink-faint);margin-left:4px;font-size:11px}.rp-pf[data-v-fe811635]{white-space:nowrap;border-radius:4px;padding:1px 7px;font-size:10.5px;display:inline-block}.rp-pf.ok[data-v-fe811635]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.rp-pf.fail[data-v-fe811635]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);cursor:help}.rp-basis[data-v-fe811635]{min-width:160px;color:var(--ink-soft);overflow-wrap:anywhere}.rp-expref[data-v-fe811635]{max-width:180px;color:var(--ink-faint);overflow-wrap:anywhere;font-size:11px}.rp-table tr.dropped .rp-basis[data-v-fe811635],.rp-table tr.dropped .rp-change[data-v-fe811635],.rp-table tr.dropped .rp-expref[data-v-fe811635],.rp-table tr.dropped .rp-param[data-v-fe811635]{opacity:.5}.rp-act[data-v-fe811635]{align-items:center;gap:10px;margin-top:8px;display:flex}.rp-comment[data-v-fe811635]{flex:none;width:280px;padding:5px 9px;font-size:12px}.rp-actions[data-v-fe811635]{flex:none;gap:6px;display:flex}.rp-ok[data-v-fe811635]{color:var(--tone-success-dot)}.rp-legacy[data-v-fe811635]{align-items:center;gap:10px;display:flex}.rp-detail[data-v-fe811635]{min-width:0;color:var(--ink-soft);overflow-wrap:anywhere;flex:1;font-size:12px}@media (width<=900px){.rp-card[data-v-fe811635]{padding:12px}.rp-rule[data-v-fe811635]{margin-left:0}.rp-act[data-v-fe811635]{flex-wrap:wrap}.rp-comment[data-v-fe811635]{flex:100%;width:auto}.rp-actions[data-v-fe811635]{margin-left:auto}.inp[data-v-fe811635],.mini-btn[data-v-fe811635]{min-height:40px}}.gate-card[data-v-ed264a3b]{border:1px solid var(--line-faint,#ffffff1f);border-radius:8px;gap:8px;margin:8px 0;padding:10px 12px;display:grid}.gate-head[data-v-ed264a3b]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.op-pill[data-v-ed264a3b]{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:0 8px;font-size:12px}.gate-reason[data-v-ed264a3b]{font-size:13px;line-height:1.5}.gate-params[data-v-ed264a3b]{border-collapse:collapse;width:100%;font-size:12px}.gate-params td[data-v-ed264a3b],.gate-params th[data-v-ed264a3b]{text-align:left;border-bottom:1px dashed var(--line-faint,#ffffff14);padding:3px 8px}.gate-actions[data-v-ed264a3b]{gap:8px;display:flex}.gate-actions .inp[data-v-ed264a3b]{flex:1}.mono[data-v-fbece97f]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.xc-card[data-v-fbece97f]{border-color:color-mix(in srgb, var(--tone-warning-dot) 35%, transparent);margin-bottom:14px;padding:12px 18px}.xc-head[data-v-fbece97f]{align-items:baseline;gap:8px;display:flex}.xc-head b[data-v-fbece97f]{font-size:13.5px}.xc-count[data-v-fbece97f]{color:var(--tone-warning-dot);border:1px solid var(--tone-warning-dot);border-radius:4px;padding:0 7px;font-size:11.5px}.xc-rule[data-v-fbece97f]{color:var(--ink-faint);margin-left:auto;font-size:10.5px}.xc-err[data-v-fbece97f]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.xc-row[data-v-fbece97f]{border-top:1px solid var(--divider-hair);align-items:center;gap:10px;padding:9px 0;display:flex}.xc-row[data-v-fbece97f]:first-of-type{border-top:0;margin-top:8px}.xc-main[data-v-fbece97f]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.xc-line[data-v-fbece97f]{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.xc-node[data-v-fbece97f]{font-size:12.5px;font-weight:600}.xc-delta[data-v-fbece97f]{color:var(--ink-soft);font-size:12px}.xc-at[data-v-fbece97f]{color:var(--ink-faint);font-size:11px}.xc-evidence[data-v-fbece97f]{color:var(--ink-faint);overflow-wrap:anywhere;font-size:11px}.xc-actions[data-v-fbece97f]{flex:none;gap:6px;display:flex}.xc-ok[data-v-fbece97f]{color:var(--tone-success-dot)}@media (width<=900px){.xc-card[data-v-fbece97f]{padding:12px}.xc-rule[data-v-fbece97f]{margin-left:0}.xc-row[data-v-fbece97f]{flex-wrap:wrap}.xc-actions[data-v-fbece97f]{margin-left:auto}.mini-btn[data-v-fbece97f]{min-height:40px}}.mono[data-v-f7619c83]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-f7619c83]{opacity:.55}.table-card[data-v-f7619c83]{margin-bottom:14px;overflow-x:auto}.nodes-table[data-v-f7619c83]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-f7619c83],.nodes-table th[data-v-f7619c83]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-f7619c83]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-f7619c83]{margin-left:8px}.ch[data-v-f7619c83]{color:var(--ink-faint);margin-top:2px;font-size:11.5px;display:block}.drv-badge[data-v-f7619c83]{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-faint);border:1px solid var(--line-strong);vertical-align:1px;border-radius:4px;margin-left:7px;padding:1px 7px;font-size:10.5px;display:inline-block}.right[data-v-f7619c83]{text-align:right}.val[data-v-f7619c83]{font-size:13px}.val small[data-v-f7619c83]{color:var(--ink-faint);margin-left:3px}.read-stale[data-v-f7619c83]{color:var(--tone-danger-dot,#e05a5a);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.read-btn[data-v-f7619c83]{margin-left:8px}.st-pill[data-v-f7619c83]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 9px;font-size:11.5px;display:inline-block}.st-pill.ok[data-v-f7619c83]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-f7619c83]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-f7619c83],.st-pill.error[data-v-f7619c83]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-f7619c83]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-f7619c83],.st-pill.offline[data-v-f7619c83]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-f7619c83]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.ctrl-toggle[data-v-f7619c83]{cursor:pointer;color:var(--ink-faint);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;display:inline-flex}.ctrl-toggle .ct-dot[data-v-f7619c83]{background:var(--tone-neutral-dot);border-radius:50%;width:7px;height:7px}.ctrl-toggle.on[data-v-f7619c83]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.ctrl-toggle.on .ct-dot[data-v-f7619c83]{background:var(--tone-success-dot);box-shadow:0 0 6px var(--tone-success-dot)}.ctrl-toggle[data-v-f7619c83]:disabled{opacity:.55;cursor:wait}.node-paused td[data-v-f7619c83]{opacity:.6}.node-paused .write-row[data-v-f7619c83]{opacity:.5}.write-row[data-v-f7619c83]{align-items:center;gap:6px;display:flex}.write-inp[data-v-f7619c83]{width:92px;padding:4px 8px}.write-btn[data-v-f7619c83]{padding:5px 12px}.step-limit-cell[data-v-f7619c83]{align-items:center;gap:5px;display:flex}.step-inp[data-v-f7619c83]{width:78px;padding:4px 6px}.step-btn[data-v-f7619c83]{padding:4px 7px}.mini-btn[data-v-f7619c83]{margin-right:4px}.mini-btn.danger[data-v-f7619c83]{color:var(--tone-danger-dot)}.mini-btn[data-v-f7619c83]:hover{border-color:var(--accent);color:var(--accent)}.inp[data-v-f7619c83]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-f7619c83]:hover{background:var(--hover-tint)}}@media (width<=900px){.table-card[data-v-f7619c83]{-webkit-overflow-scrolling:touch;overflow-x:auto}.nodes-table[data-v-f7619c83]{min-width:1080px}.nodes-table td[data-v-f7619c83],.nodes-table th[data-v-f7619c83]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-f7619c83]:first-child,.nodes-table thead>tr>th[data-v-f7619c83]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.ctrl-toggle[data-v-f7619c83],.inp[data-v-f7619c83],.mini-btn[data-v-f7619c83],.write-inp[data-v-f7619c83]{min-height:40px}.write-inp[data-v-f7619c83]{width:100%;min-width:90px}.write-row[data-v-f7619c83]{flex-wrap:wrap}}.mes-artifacts-modal[data-v-7939deb0]{min-width:560px;max-width:860px}.art-toolbar[data-v-7939deb0]{align-items:center;gap:8px;margin:8px 0;display:flex}.art-body[data-v-7939deb0]{gap:12px;max-height:60vh;display:flex;overflow:auto}.art-list[data-v-7939deb0]{min-width:260px;margin:0;padding:0;list-style:none}.art-list li[data-v-7939deb0]{cursor:pointer;border-radius:6px;justify-content:space-between;gap:10px;padding:5px 8px;display:flex}.art-list li.on[data-v-7939deb0],.art-list li[data-v-7939deb0]:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.art-preview[data-v-7939deb0]{flex-direction:column;flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.art-preview img[data-v-7939deb0]{border:1px solid var(--line-faint,#ffffff1a);background:#0d1b2a;border-radius:6px;max-width:100%;max-height:46vh}.art-preview pre[data-v-7939deb0]{max-width:100%;max-height:40vh;font-size:12px;overflow:auto}.mono[data-v-876b0c6b]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-876b0c6b]{opacity:.55}.nodes-table[data-v-876b0c6b]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-876b0c6b],.nodes-table th[data-v-876b0c6b]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-876b0c6b]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-876b0c6b]{margin-left:8px}.st-pill[data-v-876b0c6b]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 9px;font-size:11.5px;display:inline-block}.st-pill.ok[data-v-876b0c6b]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-876b0c6b]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-876b0c6b],.st-pill.error[data-v-876b0c6b]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-876b0c6b]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-876b0c6b],.st-pill.offline[data-v-876b0c6b]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-876b0c6b]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.sec-label[data-v-876b0c6b]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.modal-mask[data-v-876b0c6b]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-876b0c6b]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-876b0c6b]{margin:0 0 14px;font-size:17px}.m-actions[data-v-876b0c6b]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-876b0c6b]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-876b0c6b]:hover{background:var(--hover-tint)}}@media (width<=900px){.nodes-table[data-v-876b0c6b]{min-width:1080px}.nodes-table td[data-v-876b0c6b],.nodes-table th[data-v-876b0c6b]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-876b0c6b]:first-child,.nodes-table thead>tr>th[data-v-876b0c6b]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.aw-pill[data-v-876b0c6b]{min-height:40px}.modal[data-v-876b0c6b]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.m-actions[data-v-876b0c6b]{flex-wrap:wrap}.m-actions[data-v-876b0c6b]>*{flex:auto}}.param-chip.daqwin[data-v-d9e4932d]{color:#41c8f4;border-color:#41c8f466}.mono[data-v-d9e4932d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-d9e4932d]{opacity:.55}.banner[data-v-d9e4932d]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-d9e4932d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-d9e4932d]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.nodes-table[data-v-d9e4932d]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-d9e4932d],.nodes-table th[data-v-d9e4932d]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-d9e4932d]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-d9e4932d]{margin-left:8px}.right[data-v-d9e4932d]{text-align:right}.st-pill[data-v-d9e4932d]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 9px;font-size:11.5px;display:inline-block}.st-pill.ok[data-v-d9e4932d]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-d9e4932d]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-d9e4932d],.st-pill.error[data-v-d9e4932d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-d9e4932d]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-d9e4932d],.st-pill.offline[data-v-d9e4932d]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-d9e4932d]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.recipe-hd[data-v-d9e4932d],.recipe-actions[data-v-d9e4932d]{flex-wrap:wrap}.mini-btn[data-v-d9e4932d]{margin-right:4px}.mini-btn.danger[data-v-d9e4932d]{color:var(--tone-danger-dot)}.mini-btn[data-v-d9e4932d]:hover{border-color:var(--accent);color:var(--accent)}.param-chip[data-v-d9e4932d]{overflow-wrap:anywhere}.product-row[data-v-d9e4932d]{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.prod-chip[data-v-d9e4932d]{cursor:pointer;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.prod-chip.on[data-v-d9e4932d]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.prod-del[data-v-d9e4932d]{color:var(--tone-danger-dot);font-weight:700}.recipe-grid[data-v-d9e4932d]{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.recipe-card[data-v-d9e4932d]{margin-bottom:14px;padding:16px 18px}.recipe-hd[data-v-d9e4932d]{align-items:center;gap:10px;margin-bottom:6px;display:flex}.recipe-hd h3[data-v-d9e4932d]{margin:0;font-size:16px}.panel-tag[data-v-d9e4932d]{color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:2px 8px;font-size:11.5px}.recipe-sub[data-v-d9e4932d]{color:var(--ink-faint);margin:0 0 14px;font-size:12px}.recipe-grid[data-v-d9e4932d]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.recipe-item[data-v-d9e4932d]{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);padding:12px 14px}.recipe-name b[data-v-d9e4932d]{font-size:13.5px}.recipe-name small[data-v-d9e4932d]{margin-left:8px}.desc[data-v-d9e4932d]{margin:4px 0;font-size:12px}.recipe-params[data-v-d9e4932d]{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.param-chip[data-v-d9e4932d]{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-chip);padding:2px 8px;font-size:11.5px}.recipe-actions[data-v-d9e4932d]{align-items:center;gap:6px;margin-top:8px;display:flex}.sec-label[data-v-d9e4932d]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.runs[data-v-d9e4932d]{margin-top:6px}.param-chip.stale[data-v-d9e4932d]{color:var(--ink-faint);background:color-mix(in srgb, var(--ink) 5%, transparent);border-color:var(--divider-hair);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--ink-faint) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-faint) 60%, transparent)}.chip-step-tag[data-v-d9e4932d]{color:var(--tone-warning-dot);background:color-mix(in srgb, var(--tone-warning-dot) 8%, transparent);border:1px solid color-mix(in srgb, var(--tone-warning-dot) 30%, transparent);border-radius:var(--radius-chip);margin-left:5px;padding:0 5px;font-size:10px}.chip-stale-tag[data-v-d9e4932d]{color:var(--tone-danger-dot);background:color-mix(in srgb, var(--tone-danger-dot) 8%, transparent);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-chip);margin-left:5px;padding:0 5px;font-size:11.5px;font-style:normal;text-decoration:none}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-d9e4932d]:hover{background:var(--hover-tint)}}@media (width<=900px){.nodes-table[data-v-d9e4932d]{min-width:1080px}.nodes-table td[data-v-d9e4932d],.nodes-table th[data-v-d9e4932d]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-d9e4932d]:first-child,.nodes-table thead>tr>th[data-v-d9e4932d]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.recipe-card[data-v-d9e4932d]{padding:12px}.mini-btn[data-v-d9e4932d],.pill-btn[data-v-d9e4932d],.prod-chip[data-v-d9e4932d],.recipe-hd .mini-btn[data-v-d9e4932d],.recipe-hd .pill-btn[data-v-d9e4932d]{min-height:40px}}.modal-mask[data-v-10d19272]{z-index:80;background:#080c129e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal[data-v-10d19272]{background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:14px;width:min(980px,96vw);max-height:82vh;padding:18px 20px;overflow:auto;box-shadow:0 24px 60px #00000059}.modal-hd[data-v-10d19272]{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-hd h3[data-v-10d19272]{margin:0;font-size:16px}.modal-sub[data-v-10d19272]{color:var(--ink-faint);margin:8px 0 12px;font-size:12px}.nodes-table[data-v-10d19272]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-10d19272],.nodes-table th[data-v-10d19272]{text-align:left;vertical-align:top;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.nodes-table th[data-v-10d19272]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.mono[data-v-10d19272]{font-family:var(--font-mono);white-space:nowrap}.summary[data-v-10d19272]{overflow-wrap:anywhere}.st-pill[data-v-10d19272]{white-space:nowrap;border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:2px 8px;font-size:11.5px;display:inline-block}.banner.bad[data-v-10d19272]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent);border-radius:var(--radius-chip);padding:9px 12px;font-size:12.5px}.mini-btn[data-v-b6651d99]{margin-right:4px}.mini-btn.danger[data-v-b6651d99]{color:var(--tone-danger-dot)}.mini-btn[data-v-b6651d99]:hover{border-color:var(--accent);color:var(--accent)}.inp[data-v-b6651d99]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.sec-label[data-v-b6651d99]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.modal-mask[data-v-b6651d99]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-b6651d99]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-b6651d99]{margin:0 0 14px;font-size:17px}.f-grid[data-v-b6651d99]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.param-row[data-v-b6651d99]{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.param-row .f[data-v-b6651d99]{flex:1}.param-del[data-v-b6651d99]{margin-bottom:2px}.f[data-v-b6651d99]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-b6651d99]{margin-left:3px;font-style:normal}.m-err[data-v-b6651d99]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-note[data-v-b6651d99]{color:var(--ink-faint);margin:8px 0 0;font-size:12px}.row-stale[data-v-b6651d99]{color:var(--tone-danger-dot);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-chip);flex:none;padding:1px 7px;font-size:11.5px}.m-actions[data-v-b6651d99]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-b6651d99]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.aw-pill[data-v-b6651d99],.inp[data-v-b6651d99],.mini-btn[data-v-b6651d99],.pill-btn[data-v-b6651d99]{min-height:40px}.f-grid[data-v-b6651d99]{grid-template-columns:1fr}.param-row[data-v-b6651d99]{grid-template-columns:1fr 1fr}.modal[data-v-b6651d99]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.m-actions[data-v-b6651d99]{flex-wrap:wrap}.m-actions[data-v-b6651d99]>*{flex:auto}}.access-row[data-v-b6651d99]{align-items:center;gap:8px;display:flex}.access-agents[data-v-b6651d99]{border:1px dashed var(--line-faint,#ffffff1f);border-radius:8px;flex-wrap:wrap;gap:6px 14px;max-height:160px;padding:8px 10px;display:flex;overflow:auto}.access-agent[data-v-b6651d99]{align-items:center;gap:6px;font-size:13px;display:flex}.mono[data-v-16fbbbdb]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-16fbbbdb]{opacity:.55}.banner[data-v-16fbbbdb]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-16fbbbdb]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-16fbbbdb]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.mini-btn[data-v-16fbbbdb]{margin-right:4px}.mini-btn.danger[data-v-16fbbbdb]{color:var(--tone-danger-dot)}.mini-btn[data-v-16fbbbdb]:hover{border-color:var(--accent);color:var(--accent)}.ver-row[data-v-16fbbbdb]{border:1px solid var(--divider-hair);border-radius:10px;margin-bottom:8px;padding:10px 12px}.ver-row.cur[data-v-16fbbbdb]{background:color-mix(in srgb, var(--accent) 6%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.ver-head[data-v-16fbbbdb]{align-items:center;gap:10px;display:flex}.ver-v[data-v-16fbbbdb]{font-size:13px;font-weight:700}.ver-src[data-v-16fbbbdb]{border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:1px 8px;font-size:11.5px}.ver-src.agent[data-v-16fbbbdb]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.ver-src.user[data-v-16fbbbdb]{color:var(--ink-soft)}.ver-src.system[data-v-16fbbbdb]{color:var(--ink-faint)}.ver-src.cur[data-v-16fbbbdb]{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:#0000}.ver-actor[data-v-16fbbbdb]{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.ver-desc[data-v-16fbbbdb]{color:var(--ink);margin:6px 0 0;font-size:12px}.ver-diff[data-v-16fbbbdb]{color:var(--ink-faint);margin:4px 0 0;font-size:11px}.modal-mask[data-v-16fbbbdb]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-16fbbbdb]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}@media (width<=900px){.mini-btn[data-v-16fbbbdb]{min-height:40px}.modal[data-v-16fbbbdb]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}}.mono[data-v-ee60c0a5]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-ee60c0a5]{opacity:.55}.banner[data-v-ee60c0a5]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-ee60c0a5]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-ee60c0a5]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.nodes-table[data-v-ee60c0a5]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-ee60c0a5],.nodes-table th[data-v-ee60c0a5]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-ee60c0a5]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-ee60c0a5]{margin-left:8px}.inp[data-v-ee60c0a5]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.query-card[data-v-ee60c0a5]{margin-bottom:14px;padding:14px 18px}.q-grid[data-v-ee60c0a5]{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;display:grid}.q-grid .f[data-v-ee60c0a5]{color:var(--ink-faint);font-size:11px}.q-actions[data-v-ee60c0a5]{justify-content:flex-end}.q-result[data-v-ee60c0a5]{margin-top:12px;overflow-x:auto}.sec-label[data-v-ee60c0a5]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.f[data-v-ee60c0a5]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-ee60c0a5]:hover{background:var(--hover-tint)}}@media (width<=900px){.nodes-table[data-v-ee60c0a5]{min-width:1080px}.nodes-table td[data-v-ee60c0a5],.nodes-table th[data-v-ee60c0a5]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-ee60c0a5]:first-child,.nodes-table thead>tr>th[data-v-ee60c0a5]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.query-card[data-v-ee60c0a5]{padding:12px}.inp[data-v-ee60c0a5],.pill-btn[data-v-ee60c0a5]{min-height:40px}.q-grid[data-v-ee60c0a5]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.q-grid[data-v-ee60c0a5]{grid-template-columns:1fr}}.mono[data-v-912fb242]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-912fb242]{opacity:.55}.table-card[data-v-912fb242]{margin-bottom:14px;overflow-x:auto}.nodes-table[data-v-912fb242]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-912fb242],.nodes-table th[data-v-912fb242]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-912fb242]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-912fb242]{margin-left:8px}.st-pill[data-v-912fb242]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 9px;font-size:11.5px;display:inline-block}.st-pill.ok[data-v-912fb242]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-912fb242]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-912fb242],.st-pill.error[data-v-912fb242]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-912fb242]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-912fb242],.st-pill.offline[data-v-912fb242]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-912fb242]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.sec-label[data-v-912fb242]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-912fb242]:hover{background:var(--hover-tint)}}@media (width<=900px){.table-card[data-v-912fb242]{-webkit-overflow-scrolling:touch;overflow-x:auto}.nodes-table[data-v-912fb242]{min-width:1080px}.nodes-table td[data-v-912fb242],.nodes-table th[data-v-912fb242]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-912fb242]:first-child,.nodes-table thead>tr>th[data-v-912fb242]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}}.inp[data-v-ee82bf0d]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.modal-mask[data-v-ee82bf0d]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-ee82bf0d]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-ee82bf0d]{margin:0 0 14px;font-size:17px}.f-grid[data-v-ee82bf0d]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.f[data-v-ee82bf0d]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-ee82bf0d]{margin-left:3px;font-style:normal}.m-err[data-v-ee82bf0d]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-actions[data-v-ee82bf0d]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-ee82bf0d]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.aw-pill[data-v-ee82bf0d],.inp[data-v-ee82bf0d],.pill-btn[data-v-ee82bf0d]{min-height:40px}.f-grid[data-v-ee82bf0d]{grid-template-columns:1fr}.modal[data-v-ee82bf0d]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.m-actions[data-v-ee82bf0d]{flex-wrap:wrap}.m-actions[data-v-ee82bf0d]>*{flex:auto}}.ledger-card[data-v-1eec66e5]{margin-bottom:14px;padding:14px 18px}.ledger-head[data-v-1eec66e5]{align-items:center;gap:12px;display:flex}.ledger-head b[data-v-1eec66e5]{font-size:13.5px}.ledger-tri[data-v-1eec66e5]{align-items:center;gap:12px;margin-top:12px;display:flex}.tri-cell[data-v-1eec66e5]{background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);flex-direction:column;flex:none;gap:2px;padding:8px 16px;display:flex}.tri-cell small[data-v-1eec66e5]{color:var(--ink-faint);font-size:11.5px}.tri-cell b[data-v-1eec66e5]{color:var(--ink);font-size:17px}.ledger-cols[data-v-1eec66e5]{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}.sec-t[data-v-1eec66e5]{letter-spacing:.12em;color:var(--ink-faint);margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.ledger-list[data-v-1eec66e5]{max-height:200px;color:var(--ink-soft);flex-direction:column;gap:3px;margin:0;padding:0;font-size:11.5px;list-style:none;display:flex;overflow:auto}.ledger-rec[data-v-1eec66e5]{align-items:center;gap:8px;display:flex}.rec-st[data-v-1eec66e5]{font-family:var(--font-mono);color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:4px;flex:none;padding:0 6px;font-size:11.5px}.rec-st.open[data-v-1eec66e5]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot)}.tri-cell b[data-v-1eec66e5]{overflow-wrap:anywhere}.rec-st.judged[data-v-1eec66e5]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot);opacity:.85}.rec-st.judged-keep[data-v-1eec66e5],.rec-st.rolled-back[data-v-1eec66e5]{color:var(--tone-success-dot);border-color:var(--tone-success-dot)}.mono[data-v-1eec66e5]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mini-btn[data-v-1eec66e5]{margin-right:4px}.mini-btn.danger[data-v-1eec66e5]{color:var(--tone-danger-dot)}.mini-btn[data-v-1eec66e5]:hover{border-color:var(--accent);color:var(--accent)}.inp[data-v-1eec66e5]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}@media (width<=900px){.ledger-card[data-v-1eec66e5]{padding:12px}.ledger-cols[data-v-1eec66e5]{grid-template-columns:1fr}.ledger-tri[data-v-1eec66e5]{flex-wrap:wrap}.inp[data-v-1eec66e5],.mini-btn[data-v-1eec66e5]{min-height:40px}}.page[data-v-e308bbfe]{padding:4px}.banner[data-v-e308bbfe]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-e308bbfe]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-e308bbfe]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.err[data-v-e308bbfe]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}@media (width<=900px){.pill-btn[data-v-e308bbfe]{min-height:40px}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.mh-ava[data-v-85570eca]{width:34px;height:34px;font-size:14px}.mh-body[data-v-85570eca]{flex-direction:column;gap:2px;min-width:0;display:flex}.mh-name[data-v-85570eca]{color:var(--ink);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.mh-dot[data-v-85570eca]{border-radius:50%;flex:none;width:7px;height:7px}.mh-role[data-v-85570eca]{color:var(--ink-faint);font-size:11.5px}.mh-task[data-v-85570eca]{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.mh-hint[data-v-85570eca]{color:var(--ink-faint);margin-top:3px;font-size:10.5px}.pane-splitter[data-v-4f787ef8]{z-index:5;cursor:col-resize;touch-action:none;outline:none;flex:0 0 9px;position:relative}.pane-splitter[data-v-4f787ef8]:before{content:"";width:1px;transition:background var(--transition-fast);background:0 0;position:absolute;top:0;bottom:0;left:4px}.pane-splitter.divider[data-v-4f787ef8]:before{background:var(--line)}.pane-splitter.dragging[data-v-4f787ef8]:before,.pane-splitter[data-v-4f787ef8]:focus-visible:before,.pane-splitter[data-v-4f787ef8]:hover:before{background:var(--ink)}.pane-splitter.bare[data-v-4f787ef8]:before{left:2px}.pane-splitter.bare.dragging[data-v-4f787ef8]:before,.pane-splitter.bare[data-v-4f787ef8]:hover:before{background:color-mix(in srgb, var(--ink) 35%, transparent)}.grip[data-v-4f787ef8]{background:var(--ink);border-radius:var(--radius-pill);opacity:0;width:2px;height:18px;transition:opacity var(--transition-fast);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pane-splitter.dragging .grip[data-v-4f787ef8],.pane-splitter:focus-visible .grip[data-v-4f787ef8],.pane-splitter:hover .grip[data-v-4f787ef8]{opacity:.45}.pane-splitter.dragging .grip[data-v-4f787ef8]{opacity:.85}.topbar[data-v-be29fffe]{background:var(--paper-raised);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;display:flex}.left[data-v-be29fffe],.right[data-v-be29fffe]{align-items:center;gap:8px;min-width:0;display:flex}.topbar-mark[data-v-be29fffe]{color:var(--ink-faint);font-size:15px}.ws-name[data-v-be29fffe]{max-width:260px;font-family:var(--font-body);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.chan-chip[data-v-be29fffe]{max-width:200px;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:3px;padding:1px 10px;font-size:12px;display:inline-flex;overflow:hidden}.chan-hash[data-v-be29fffe]{font-family:var(--font-display);color:var(--ink-faint)}.view-switch[data-v-be29fffe]{margin-left:8px}.dot[data-v-be29fffe]{border-radius:50%;width:8px;height:8px}.ws-state[data-v-be29fffe]{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:var(--radius-chip);padding:1px 6px;font-size:10px}.ws-state[data-state=open][data-v-be29fffe]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.ws-state[data-state=connecting][data-v-be29fffe]{color:var(--tone-warning-dot);border-color:color-mix(in srgb, var(--tone-warning-dot) 45%, transparent)}.ws-state[data-state=closed][data-v-be29fffe]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.seq[data-v-be29fffe]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:10px}.pane-toggle[data-v-be29fffe]{width:26px;height:26px;color:var(--ink-soft);cursor:pointer;border-radius:var(--radius-panel-sm);transition:color var(--transition-fast), background var(--transition-fast), opacity var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.pane-toggle[data-v-be29fffe]:hover{color:var(--ink);background:var(--paper-deep)}.pane-toggle.off[data-v-be29fffe]{opacity:.4}.pane-toggle.off[data-v-be29fffe]:hover{opacity:1}@media (width<=1023.98px){.topbar[data-v-be29fffe]{flex-wrap:wrap;gap:6px 8px;padding:8px 10px}.topbar .left[data-v-be29fffe]{flex-wrap:wrap;row-gap:8px}.ws-name[data-v-be29fffe]{max-width:40vw;font-size:15px}.chan-chip[data-v-be29fffe]{max-width:34vw;font-size:12px}.view-switch[data-v-be29fffe]{flex:100%;margin-left:0}.seq[data-v-be29fffe],.ws-state[data-v-be29fffe]{font-size:11.5px}.pane-toggle[data-v-be29fffe]{width:40px;height:40px;font-size:18px}.toggle-left-desk[data-v-be29fffe],.toggle-right-desk[data-v-be29fffe]{display:none}}.toggle-left-narrow[data-v-be29fffe]{display:none}@media (width<=1023.98px){.toggle-left-narrow[data-v-be29fffe]{display:inline-flex}}@media (width<=640px){.chan-chip[data-v-be29fffe]{display:none}.view-switch[data-v-be29fffe]{-webkit-mask-image:linear-gradient(90deg,#000 0 90%,#0000 100%);mask-image:linear-gradient(90deg,#000 0 90%,#0000 100%)}}.fs[data-v-2b03dd2f]{flex-direction:column;gap:8px;display:flex}.addr[data-v-2b03dd2f]{font-family:var(--font-mono);background:color-mix(in srgb, currentColor 5%, transparent);border-radius:var(--radius-chip);padding:4px 8px;font-size:12px}.crumbs[data-v-2b03dd2f] a{color:var(--color-primary)}.manual[data-v-2b03dd2f]{max-width:100%}.list[data-v-2b03dd2f]{border:1px solid color-mix(in srgb, currentColor 10%, transparent);border-radius:var(--radius-chip);height:280px;overflow-y:auto}.row[data-v-2b03dd2f]{cursor:pointer;align-items:center;gap:8px;padding:4px 10px;font-size:12px;display:flex}.row[data-v-2b03dd2f]:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.row.up[data-v-2b03dd2f]{opacity:.7}.icon[data-v-2b03dd2f]{flex:none}.name[data-v-2b03dd2f]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty[data-v-2b03dd2f]{opacity:.4;text-align:center;padding:24px;font-size:12px}.hint[data-v-2b03dd2f]{opacity:.55;font-size:11px}.ws-hint[data-v-1fb4bb10]{color:var(--ink-faint);font-size:11px}.ch-tools[data-v-a2872674]{border:1px solid var(--border,#80808040);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.ch-tools-head[data-v-a2872674]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ch-tools-title[data-v-a2872674]{margin-bottom:2px;font-size:13px;font-weight:600}.ch-tools-mode[data-v-a2872674]{flex-direction:column;gap:6px;display:flex}.ch-tools-stats[data-v-a2872674]{color:var(--ink-soft);font-size:12px}.ch-tools-filters[data-v-a2872674]{align-items:center;gap:8px;display:flex}.ch-tools-filters[data-v-a2872674] .ant-input-search{flex:1}.ch-tools-actions[data-v-a2872674]{align-items:center;gap:8px;display:flex}.ch-tools-dirty[data-v-a2872674]{color:#e6a23c;font-size:12px}.ch-tools-warn[data-v-a2872674]{margin:0}.ch-tools-list[data-v-a2872674]{border:1px solid var(--border,#80808033);border-radius:8px;max-height:340px;overflow:auto}.ch-tool-row[data-v-a2872674]{border-bottom:1px solid var(--border,#80808026);align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.ch-tool-row[data-v-a2872674]:last-child{border-bottom:0}.ch-tool-row.is-off[data-v-a2872674]{opacity:.55}.ch-tool-row.is-blocked[data-v-a2872674]{background:#e6a23c0d}.ch-tool-main[data-v-a2872674]{flex:1;min-width:0}.ch-tool-name[data-v-a2872674]{align-items:baseline;gap:8px;display:flex}.ch-tool-label[data-v-a2872674]{color:var(--ink-soft);font-size:12px}.ch-tool-meta[data-v-a2872674]{flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:3px;display:flex}.ch-tool-desc[data-v-a2872674]{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;flex:100%;font-size:11px;overflow:hidden}.ch-tool-eff[data-v-a2872674]{color:var(--ink-faint);text-align:right;flex-direction:column;gap:2px;font-size:10px;display:flex}.ch-tool-eff .on[data-v-a2872674]{color:#35e0a0}.ch-tools-empty[data-v-a2872674]{text-align:center;padding:16px}.ch-tools-footer[data-v-a2872674]{justify-content:flex-end;gap:8px;display:flex}.ch-plugin-list[data-v-f232ba2b]{flex-direction:column;gap:6px;width:100%;display:flex}.ch-plugin-row[data-v-f232ba2b]{border:1px solid var(--border,#80808040);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:4px 8px;display:flex}.ch-plugin-main[data-v-f232ba2b]{align-items:baseline;gap:8px;min-width:0;display:flex}.ch-plugin-desc[data-v-f232ba2b]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ws-hint[data-v-f232ba2b]{color:var(--ink-faint);font-size:11px}.bind-line-hint[data-v-f232ba2b]{color:var(--ink-faint);margin-top:4px;font-size:11px;line-height:1.5}.ws-hint[data-v-18efca23]{color:var(--ink-faint);font-size:11px}.channel-list[data-v-5433d3b9]{flex-direction:column;min-height:100%;padding:12px 10px 8px;display:flex}.list-head[data-v-5433d3b9]{justify-content:space-between;align-items:center;padding:0 8px 8px;display:flex}.title[data-v-5433d3b9]{font-family:var(--font-body);letter-spacing:-.015em;color:var(--ink);font-size:15px;font-weight:600}.head-actions[data-v-5433d3b9]{gap:2px;display:inline-flex}.head-op[data-v-5433d3b9]{width:24px;height:24px;color:var(--ink-faint);cursor:pointer;border-radius:var(--radius-chip);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.head-op[data-v-5433d3b9]:hover{color:var(--ink);background:var(--paper-deep)}.empty[data-v-5433d3b9]{color:var(--ink-faint);padding:14px 10px;font-size:12px}.channel-item[data-v-5433d3b9]{cursor:pointer;border-radius:var(--radius-panel-sm);transition:background var(--transition-fast);margin:1px 0;padding:7px 9px}.channel-item[data-v-5433d3b9]:hover{background:var(--paper-deep)}.channel-item.active[data-v-5433d3b9]{background:var(--paper-deep);box-shadow:inset 2px 0 0 var(--accent)}.row1[data-v-5433d3b9]{color:var(--ink-soft);align-items:center;gap:7px;font-size:13px;display:flex}.channel-item.active .row1[data-v-5433d3b9]{color:var(--ink);font-weight:500}.dot[data-v-5433d3b9]{background:var(--tone-neutral-dot);opacity:.55;border-radius:50%;flex:none;width:7px;height:7px}.dot.live[data-v-5433d3b9]{background:var(--tone-success-dot);opacity:1}.ch-name[data-v-5433d3b9]{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.sched-tag[data-v-5433d3b9]{color:var(--accent,var(--ink-soft));border:1px solid color-mix(in srgb, var(--accent,var(--ink-soft)) 45%, transparent);border-radius:var(--radius-chip);flex:none;align-items:center;gap:2px;padding:0 5px;font-size:10px;line-height:16px;display:inline-flex}.sched-n[data-v-5433d3b9]{font-family:var(--font-mono);font-size:9.5px}.op[data-v-5433d3b9]{width:20px;height:20px;color:var(--ink-faint);cursor:pointer;border-radius:var(--radius-chip);opacity:.55;transition:opacity var(--transition-fast), color var(--transition-fast), background var(--transition-fast);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.channel-item.active .op[data-v-5433d3b9],.channel-item:hover .op[data-v-5433d3b9]{opacity:.9}.op[data-v-5433d3b9]:hover{opacity:1;color:var(--ink);background:var(--paper-deep)}.op[data-v-5433d3b9]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.row2[data-v-5433d3b9]{color:var(--ink-faint);padding-left:14px;font-size:11px}.meta.syncing[data-v-5433d3b9]{opacity:.6;font-style:italic}.row2.ws[data-v-5433d3b9]{max-width:100%;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;color:var(--ink-faint);text-align:left;cursor:copy;border-radius:var(--radius-chip);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:0;align-items:center;gap:4px;padding:0 2px 0 14px;font-size:11px;display:flex;overflow:hidden}.row2.ws[data-v-5433d3b9]:hover{color:var(--ink-soft);background:color-mix(in srgb, currentColor 6%, transparent)}.row2.ws[data-v-5433d3b9]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mount-template[data-v-5433d3b9]{border-top:1px solid var(--line);margin-top:10px;padding:12px 6px 6px}.select[data-v-5433d3b9]{width:100%}.tpl-hint[data-v-5433d3b9]{color:var(--ink-faint);padding:5px 2px 0;font-size:10.5px}.ws-hint[data-v-5433d3b9]{color:var(--ink-faint);font-size:11px}.live-bar[data-v-8f6c62e6]{background:var(--paper);border-top:1px solid var(--line);flex:none;align-items:center;gap:6px;min-height:50px;padding:7px 8px;display:flex;position:relative}.live-idle[data-v-8f6c62e6]{align-items:center;gap:8px;padding-left:6px;display:flex}.idle-dot[data-v-8f6c62e6]{background:var(--ink-fainter);border-radius:50%;flex:none;width:7px;height:7px}.idle-text[data-v-8f6c62e6]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.live-main[data-v-8f6c62e6]{font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;border-radius:var(--radius-panel-sm);transition:background var(--transition-fast);background:0 0;border:0;flex:1;align-items:center;gap:9px;padding:4px 6px;display:flex}.live-main[data-v-8f6c62e6]:hover{background:var(--paper-deep)}.live-ava[data-v-8f6c62e6]{flex:none;line-height:0;position:relative}.live-avatar[data-v-8f6c62e6]{width:22px;height:22px;font-size:10px}.live-avatar-sm[data-v-8f6c62e6]{width:20px;height:20px;font-size:9.5px}.live-pip[data-v-8f6c62e6]{background:var(--tone-live-dot);border:1.5px solid var(--paper);border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.live-pip[data-v-8f6c62e6]:after{content:"";background-color:inherit;border-radius:50%;animation:1.9s cubic-bezier(0,0,.2,1) infinite lb-ping-8f6c62e6;position:absolute;inset:0}.live-text[data-v-8f6c62e6]{flex-direction:column;gap:1px;min-width:0;display:flex}.live-name[data-v-8f6c62e6]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.live-detail[data-v-8f6c62e6]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.live-more[data-v-8f6c62e6]{color:var(--ink-faint);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);transition:background var(--transition-fast), color var(--transition-fast);flex:none;padding:2px 8px;font-size:11px;font-weight:600}.live-more[data-v-8f6c62e6]:hover{color:var(--ink);background:var(--paper-deep)}.live-backdrop[data-v-8f6c62e6]{z-index:40;position:fixed;inset:0}.live-pop[data-v-8f6c62e6]{z-index:41;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-panel-sm);max-height:280px;box-shadow:var(--shadow-float);padding:6px;position:absolute;bottom:calc(100% + 6px);left:8px;right:8px;overflow:auto}.live-pop-title[data-v-8f6c62e6]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:4px 8px 6px;font-size:10px;font-weight:600}.live-pop-item[data-v-8f6c62e6]{width:100%;font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;border-radius:var(--radius-panel-sm);background:0 0;border:0;align-items:center;gap:9px;padding:7px 8px;display:flex}.live-pop-item[data-v-8f6c62e6]:hover{background:var(--paper-deep)}.live-pop-text[data-v-8f6c62e6]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.live-pop-name[data-v-8f6c62e6]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.live-pop-detail[data-v-8f6c62e6]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pop-dot[data-v-8f6c62e6]{background:var(--tone-live-dot);border-radius:50%;flex:none;width:8px;height:8px}@keyframes lb-ping-8f6c62e6{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(2.4)}}@media (prefers-reduced-motion:reduce){.live-pip[data-v-8f6c62e6]:after{opacity:0;animation:none}}@media (width<=1023.98px){.live-main[data-v-8f6c62e6]{min-height:44px}.live-more[data-v-8f6c62e6]{min-height:40px;padding:0 10px;font-size:12px}.idle-text[data-v-8f6c62e6],.live-detail[data-v-8f6c62e6],.live-pop-detail[data-v-8f6c62e6],.live-pop-title[data-v-8f6c62e6]{font-size:11.5px}.live-pop-item[data-v-8f6c62e6]{min-height:44px}.live-avatar-sm[data-v-8f6c62e6]{width:24px;height:24px;font-size:11px}.live-pop[data-v-8f6c62e6]{max-height:46dvh}}.left-pane[data-v-1a42249e]{background:var(--paper);flex-direction:column;flex:none;min-height:0;display:flex;overflow:hidden}.left-scroll[data-v-1a42249e]{flex:auto;min-height:0;overflow:hidden auto}@media (width<=1023.98px){.left-pane[data-v-1a42249e]{z-index:30;border-right:1px solid var(--line);width:min(86vw,320px);box-shadow:var(--shadow-float);animation:.18s cubic-bezier(.22,1,.36,1) pane-in-1a42249e;position:absolute;top:0;bottom:0;left:0}}@media (prefers-reduced-motion:reduce){.left-pane[data-v-1a42249e]{animation:none}}@keyframes pane-in-1a42249e{0%{opacity:.5;transform:translate(-16px)}to{opacity:1;transform:none}}.agent-avatar[data-v-c028d72e]{width:30px;min-width:30px;height:30px;font-family:var(--font-body);color:var(--ink);background:var(--paper-deep);border:0;border-radius:50%;justify-content:center;align-items:center;margin-top:0;padding:0;font-size:12px;font-weight:600;display:flex;position:relative}.agent-avatar.clickable[data-v-c028d72e]{cursor:pointer;transition:transform var(--transition-fast) var(--im-spring), box-shadow var(--transition-fast)}.agent-avatar.clickable[data-v-c028d72e]:hover{box-shadow:0 0 0 var(--radius-chip) transparent, 0 3px 10px #0c0a0929;transform:scale(1.06)}.agent-avatar.is-agent[data-v-c028d72e]{color:var(--on-av);background:var(--av,var(--av-fallback))}.agent-avatar.is-human[data-v-c028d72e]{color:var(--ink-soft);background:var(--paper-deep);box-shadow:inset 0 0 0 1px var(--line-strong)}.agent-avatar .system-icon[data-v-c028d72e]{font-size:15px;line-height:1}.av-status[data-v-c028d72e]{background:var(--ink-fainter);border:1.5px solid var(--paper-raised);border-radius:50%;width:8px;height:8px;position:absolute;bottom:-2px;right:-2px}.av-status.busy[data-v-c028d72e]{background:var(--tone-live-dot);animation:1.9s ease-in-out infinite av-breathe-c028d72e}.av-status.stopped[data-v-c028d72e]{background:var(--tone-danger-dot)}@keyframes av-breathe-c028d72e{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.av-status.busy[data-v-c028d72e]{opacity:.9;animation:none}}.block-head[data-v-b17ec612]{min-height:20px;font-family:var(--font-body);align-items:center;gap:8px;padding-bottom:1px;display:flex;position:relative}.agent-name[data-v-b17ec612]{max-width:220px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.role-label[data-v-b17ec612]{font-family:var(--font-body);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.tier-attention[data-v-b17ec612]{color:var(--tone-warning-dot);background:color-mix(in srgb, var(--tone-warning-dot) 13%, transparent);border-radius:var(--radius-chip);align-items:center;gap:3px;padding:0 5px;font-size:10px;display:inline-flex}.kind-chip[data-v-b17ec612]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-faint);align-items:center;padding:0 2px;font-size:10px;line-height:14px;display:inline-flex}.head-right[data-v-b17ec612]{font-variant-numeric:tabular-nums;color:var(--ink-faint);flex:auto;justify-content:flex-end;align-items:center;gap:6px;font-size:9.5px;display:flex}.folded[data-v-b17ec612]{color:var(--ink-faint);background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:var(--radius-chip);padding:0 4px}.merged[data-v-b17ec612]{background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:var(--radius-chip);padding:0 4px}.time[data-v-b17ec612]{width:60px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:9.5px}.running-chip[data-v-b17ec612]{color:var(--ink-faint);align-items:center;gap:4px;display:inline-flex}.running-chip .running-dot[data-v-b17ec612]{background:var(--tone-live-dot);border-radius:50%;width:6px;height:6px;animation:1.9s ease-in-out infinite av-breathe-b17ec612}@keyframes av-breathe-b17ec612{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.running-chip .running-dot[data-v-b17ec612]{opacity:.9;animation:none}}.eb-toolbar[data-v-b17ec612]{z-index:5;opacity:0;pointer-events:none;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-chip);transition:opacity var(--transition-fast);gap:2px;padding:1px;display:inline-flex;position:absolute;top:-4px;right:56px}.eb-tool[data-v-b17ec612]{width:22px;height:22px;color:var(--ink-faint);cursor:pointer;border-radius:var(--radius-chip);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:12px;display:inline-flex}.eb-tool[data-v-b17ec612]:hover{color:var(--ink);background:var(--paper-deep)}.stream-bubble[data-v-d6a1c085]{padding:0;position:relative}.stream-text[data-v-d6a1c085]{color:var(--ink);word-break:break-word;overflow-wrap:anywhere;background:var(--bubble-bg);border:1px solid var(--bubble-line);border-radius:var(--radius-bubble);box-shadow:var(--bubble-shadow);transition:border-color var(--transition-fast);margin:2px 2px 8px 0;padding:9px 13px 10px;font-size:13px;line-height:1.7}.stream-text[data-v-d6a1c085]:hover{border-color:var(--line-strong)}.prose[data-v-d6a1c085] p{margin:0 0 7px}.prose[data-v-d6a1c085] p:last-child{margin-bottom:0}.prose[data-v-d6a1c085] h3,.prose[data-v-d6a1c085] h4,.prose[data-v-d6a1c085] h5{font-family:var(--font-body);letter-spacing:-.015em;color:var(--ink);margin:12px 0 5px;font-size:15px;font-weight:600;line-height:1.35}.prose[data-v-d6a1c085] h3:first-child,.prose[data-v-d6a1c085] h4:first-child,.prose[data-v-d6a1c085] h5:first-child{margin-top:3px}.prose[data-v-d6a1c085] ul{margin:3px 0 8px;padding-left:20px;list-style:outside}.prose[data-v-d6a1c085] ul ul{margin:2px 0 4px;list-style:circle}.prose[data-v-d6a1c085] li{margin:2px 0;padding-left:1px}.prose[data-v-d6a1c085] li::marker{color:var(--ink-faint)}.prose[data-v-d6a1c085] code{font-family:var(--font-mono);background:var(--paper-deep);border-radius:var(--radius-chip);padding:1px 5px;font-size:11.5px}.prose[data-v-d6a1c085] blockquote{color:var(--ink-soft);border-left:3px solid var(--line-strong);border-radius:0 var(--radius-chip) var(--radius-chip) 0;background:color-mix(in srgb, var(--paper) 55%, transparent);margin:7px 0;padding:4px 4px 4px 12px}.prose[data-v-d6a1c085] b{font-weight:650}.prose[data-v-d6a1c085] a{color:var(--tone-info-dot);text-underline-offset:2px;text-decoration:underline}.prose[data-v-d6a1c085] .code-block{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);margin:7px 0;overflow:hidden}.prose[data-v-d6a1c085] .code-head{border-bottom:1px solid var(--divider-hair);justify-content:space-between;align-items:center;padding:4px 6px 4px 10px;display:flex}.prose[data-v-d6a1c085] .code-lang{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:9.5px}.prose[data-v-d6a1c085] .code-copy{font-family:var(--font-mono);color:var(--ink-soft);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast);padding:1px 8px;font-size:10px}.prose[data-v-d6a1c085] .code-copy:hover{color:var(--ink);border-color:var(--line-strong)}.prose[data-v-d6a1c085] .code-block pre{margin:0;padding:8px 10px;overflow-x:auto}.prose[data-v-d6a1c085] .code-block code{background:0 0;border-radius:0;padding:0;font-size:11px;line-height:1.55}.cursor[data-v-d6a1c085]{color:var(--accent);animation:.9s step-end infinite blink-d6a1c085;display:inline-block}@keyframes blink-d6a1c085{50%{opacity:0}}.stream-pending[data-v-d6a1c085]{align-items:center;gap:4px;padding:6px 0;display:flex}.pending-dot[data-v-d6a1c085]{background:var(--ink-faint);border-radius:50%;width:4px;height:4px;animation:1.1s ease-in-out infinite pulse-d6a1c085}.pending-dot[data-v-d6a1c085]:nth-child(2){animation-delay:.18s}.pending-dot[data-v-d6a1c085]:nth-child(3){animation-delay:.36s}@keyframes pulse-d6a1c085{0%,to{opacity:.25}50%{opacity:1}}.stream-covered[data-v-d6a1c085]{opacity:.5;color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;font-size:11px;display:flex}.tool-cluster[data-v-aa99ad14]{padding:1px 0 5px 2px;position:relative}.tool-line[data-v-aa99ad14]{min-width:0;font-family:var(--font-body);align-items:baseline;gap:8px;padding:1.5px 0;font-size:12px;line-height:1.6;display:flex}.tool-time[data-v-aa99ad14]{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);flex:0 0 34px;font-size:9.5px}.tool-node[data-v-aa99ad14]{border:1.5px solid var(--line-strong);background:var(--paper-raised);border-radius:2.5px;flex:0 0 7px;align-self:center;width:7px;height:7px}.tool-icon[data-v-aa99ad14]{opacity:.75;flex:none;font-size:13px;line-height:1.5}.tool-name[data-v-aa99ad14]{font-family:var(--font-mono);flex:none;font-size:11.5px;font-weight:500}.tool-args[data-v-aa99ad14]{min-width:0;max-width:min(52ch,100%);font-family:var(--font-mono);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;opacity:.85;font-size:11px;overflow:hidden}.tool-line.host .tool-node[data-v-aa99ad14]{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 14%, var(--paper-raised))}.tool-line.host .tool-icon[data-v-aa99ad14],.tool-line.host .tool-name[data-v-aa99ad14]{color:var(--ink);font-weight:600}.tool-line.host .tool-icon[data-v-aa99ad14]{opacity:1}.tool-line.industrial .tool-node[data-v-aa99ad14]{background:color-mix(in srgb, #c98922 22%, var(--paper-raised));border-color:#c98922}.tool-line.industrial .tool-icon[data-v-aa99ad14],.tool-line.industrial .tool-name[data-v-aa99ad14]{color:#c98922;font-weight:700}.tool-line.industrial .tool-icon[data-v-aa99ad14]{opacity:1}.tool-line.industrial .tool-args[data-v-aa99ad14]{color:color-mix(in srgb, #c98922 62%, var(--ink-soft));opacity:1}.tool-kind[data-v-aa99ad14]{letter-spacing:.1em;color:var(--ink-faint);border:1px solid var(--line);border-radius:var(--radius-pill);background:0 0;flex:none;align-self:center;padding:0 5px;font-size:8.5px;line-height:14px}.tool-kind.industrial[data-v-aa99ad14]{color:#c98922;border-color:color-mix(in srgb, #c98922 55%, var(--line));background:#c989221a}.tool-line:hover .tool-args[data-v-aa99ad14]{opacity:1}.more-btn[data-v-aa99ad14]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-pill);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:5px;margin-left:49px;padding:1px 10px;font-size:10px}.more-btn[data-v-aa99ad14]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.status-cluster[data-v-a99da03a]{padding:1px 0 4px 2px}.st-toggle[data-v-a99da03a]{width:100%;min-width:0;font-family:var(--font-mono);text-align:left;cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:0;align-items:baseline;gap:7px;padding:2px 4px 2px 0;font-size:10.5px;display:flex}.st-toggle[data-v-a99da03a]:hover{background:color-mix(in srgb, var(--ink) 4%, transparent)}.chev[data-v-a99da03a]{color:var(--ink-faint);flex:none;font-size:10px;line-height:15px;transition:transform .12s}.chev.open[data-v-a99da03a]{transform:rotate(90deg)}.st-label[data-v-a99da03a]{letter-spacing:.06em;color:var(--ink-faint);flex:none}.st-count[data-v-a99da03a]{color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 8%, transparent);border-radius:var(--radius-chip);flex:none;align-self:center;padding:0 4px;font-size:10px;line-height:13px}.st-preview[data-v-a99da03a]{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;opacity:.75;font-style:italic;overflow:hidden}.st-detail[data-v-a99da03a]{background:color-mix(in srgb, var(--ink) 3.5%, transparent);border-left:2px solid color-mix(in srgb, var(--ink) 14%, transparent);border-radius:0 3px 3px 0;max-height:320px;margin:2px 0 2px 16px;padding:4px 8px;overflow-y:auto}.st-line[data-v-a99da03a]{align-items:baseline;gap:6px;display:flex}.st-line+.st-line[data-v-a99da03a]{margin-top:4px}.st-mark[data-v-a99da03a]{color:var(--ink-faint);flex:none}.st-text[data-v-a99da03a]{min-width:0;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0;font-size:10.5px;line-height:1.5}.life-cluster[data-v-fa8c5d16]{font-family:var(--font-mono);opacity:.88;align-items:center;gap:8px;padding:2px 0 3px 2px;font-size:11px;display:flex}.life-dot[data-v-fa8c5d16]{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.life-dot[data-state=busy][data-v-fa8c5d16]{background:var(--accent-cobalt)}.life-dot[data-state=idle][data-v-fa8c5d16]{background:var(--accent-moss)}.life-row[data-v-fa8c5d16]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.life-state[data-v-fa8c5d16]{text-transform:uppercase;letter-spacing:.1em;font-size:9.5px;font-weight:500}.life-task[data-v-fa8c5d16]{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.life-meta[data-v-fa8c5d16]{opacity:.6;font-size:10px}.life-count[data-v-fa8c5d16]{opacity:.45;font-size:9.5px}.route-cluster[data-v-ef9dc289]{padding:1px 0 5px}.chat-row[data-v-ef9dc289]{background:var(--bubble-bg);border:1px solid var(--bubble-line);border-radius:var(--radius-bubble);box-shadow:var(--bubble-shadow);transition:border-color var(--transition-fast), background var(--transition-fast);margin-bottom:6px;padding:7px 12px 8px}.chat-row[data-v-ef9dc289]:hover{border-color:var(--line-strong)}.chat-row[data-v-ef9dc289]:last-of-type{margin-bottom:0}.chat-meta[data-v-ef9dc289]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.who-pill[data-v-ef9dc289]{font-family:var(--font-body);color:var(--mention-ink);cursor:pointer;background:var(--mention);border-radius:var(--radius-pill);transition:background var(--transition-fast);border:0;align-items:center;gap:5px;padding:1px 8px 1px 3px;font-size:11.5px;font-weight:600;display:inline-flex}.who-pill[data-v-ef9dc289]:hover{background:color-mix(in srgb, var(--mention) 70%, var(--g-peach))}.who-ava[data-v-ef9dc289]{width:18px;height:18px;font-size:10px}.to-arrow[data-v-ef9dc289],.who-broadcast[data-v-ef9dc289]{color:var(--ink-faint);font-size:11px}.human-chip[data-v-ef9dc289]{color:var(--ink-soft);background:var(--paper-deep);border-radius:var(--radius-chip);align-items:center;gap:5px;padding:0 7px;font-size:11.5px;font-weight:600;display:inline-flex}.route-badge[data-v-ef9dc289]{color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 4.5%, transparent);border:1px solid var(--line);border-radius:var(--radius-chip);align-items:center;gap:4px;padding:0 6px;font-size:9.5px;display:inline-flex}.route-badge[data-tone=assign][data-v-ef9dc289],.route-badge[data-tone=immediate][data-v-ef9dc289],.route-badge[data-tone=notice][data-v-ef9dc289],.route-badge[data-tone=peer][data-v-ef9dc289]{color:var(--ink-soft);border-color:var(--line);background:0 0}.route-badge[data-tone=assign][data-v-ef9dc289]{color:var(--ink-soft)}.route-badge.receipt[data-v-ef9dc289]{color:var(--tone-warning-dot);background:color-mix(in srgb, var(--tone-warning-dot) 12%, transparent);border-color:#0000}.route-badge.reply-link[data-v-ef9dc289]{color:var(--ink-faint);background:color-mix(in srgb, var(--ink) 6%, transparent);font-size:9.5px}.chat-time[data-v-ef9dc289]{color:var(--ink-faint);margin-left:auto;font-size:9.5px}.chat-body[data-v-ef9dc289]{color:var(--ink);white-space:normal;word-break:break-word;padding:1px 0 0 2px;font-size:13px;line-height:1.7}.prose[data-v-ef9dc289] p{margin:0 0 6px}.prose[data-v-ef9dc289] p:last-child{margin-bottom:0}.prose[data-v-ef9dc289] code{font-family:var(--font-mono);background:var(--paper-deep);border-radius:var(--radius-chip);padding:.5px 4px;font-size:11px}.prose[data-v-ef9dc289] pre{max-width:100%;font-family:var(--font-mono);background:var(--paper-deep);border-radius:var(--radius-chip);margin:4px 0;padding:6px 9px;font-size:11px;overflow-x:auto}.prose[data-v-ef9dc289] b{font-weight:600}.more-btn[data-v-ef9dc289]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-ef9dc289]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.task-cluster[data-v-cdaa9d8e]{flex-wrap:wrap;align-items:center;gap:7px;padding:3px 0 4px 2px;font-size:12px;display:flex}.state-chip[data-v-cdaa9d8e]{font-family:var(--font-body);color:var(--ink);border-radius:var(--radius-pill);align-items:center;gap:5px;padding:1px 7px;font-size:10px;display:inline-flex}.state-chip .state-code[data-v-cdaa9d8e]{font-family:var(--font-mono);letter-spacing:.05em;opacity:.55;font-size:8.5px}.state-dot[data-v-cdaa9d8e]{border-radius:50%;width:5px;height:5px}.task-tag[data-v-cdaa9d8e]{margin:0!important}.chain-arrow[data-v-cdaa9d8e]{opacity:.4;font-size:10px}.task-title[data-v-cdaa9d8e]{font-weight:600}.task-assignee[data-v-cdaa9d8e]{font-family:var(--font-mono);opacity:.6;font-size:10.5px}.progress[data-v-cdaa9d8e]{flex:0 0 180px;margin:0!important}.artifact-card[data-v-2586509c]{background:color-mix(in srgb, currentColor 4%, transparent);border-left:2px solid var(--ink-faint);border-radius:var(--radius-chip);margin:2px 0;padding:4px 8px}.artifact-card.deliverable[data-v-2586509c]{border-left-color:var(--tone-warning-dot)}.artifact-head[data-v-2586509c]{opacity:.85;align-items:center;gap:6px;font-size:11px;display:flex}.name[data-v-2586509c]{font-weight:600}.op[data-v-2586509c]{opacity:.7;font-size:11px}.artifact-body[data-v-2586509c]{white-space:pre-wrap;word-break:break-word;margin:4px 0 0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px}.artifact-body.json[data-v-2586509c]{color:var(--tone-info-dot)}.artifact-cluster[data-v-0d08b8dc]{padding:2px 0 6px 2px}.dup-note[data-v-0d08b8dc]{font-family:var(--font-mono);color:var(--ink-faint);align-items:center;gap:6px;font-size:10px;display:flex}.artifact-cluster[data-v-0d08b8dc]>.artifact-card{margin-top:4px}.member-cluster[data-v-1a21ea71]{padding:1px 0 5px 2px}.member-line[data-v-1a21ea71]{font-family:var(--font-mono);color:var(--ink-soft);align-items:center;gap:7px;font-size:10.5px;line-height:20px;display:flex}.line-text[data-v-1a21ea71]{overflow-wrap:anywhere;word-break:break-word}.more-btn[data-v-1a21ea71]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-1a21ea71]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.memory-cluster[data-v-8183fbee]{padding:1px 0 5px 2px}.memory-line[data-v-8183fbee]{font-family:var(--font-mono);align-items:center;gap:7px;font-size:10.5px;line-height:20px;display:flex}.mem-scope[data-v-8183fbee]{letter-spacing:.08em;color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 5%, transparent);border:1px solid var(--line);border-radius:var(--radius-chip);padding:0 5px;font-size:8.5px}.mem-title[data-v-8183fbee]{overflow-wrap:anywhere;word-break:break-word}.more-btn[data-v-8183fbee]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-8183fbee]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.error-cluster[data-v-e9239820]{padding:2px 0 5px 2px}.error-line[data-v-e9239820]{font-family:var(--font-mono);color:var(--tone-danger-dot);align-items:center;gap:7px;padding:1px 6px;font-size:10.5px;line-height:20px;display:flex}.error-line[data-v-e9239820]:first-child{background:var(--tone-danger-bg);border-radius:var(--radius-chip)}.error-code[data-v-e9239820]{background:color-mix(in srgb, var(--tone-danger-dot) 14%, transparent);border-radius:var(--radius-chip);padding:0 5px;font-size:10px}.error-text[data-v-e9239820]{overflow-wrap:anywhere;word-break:break-word}.more-btn[data-v-e9239820]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-e9239820]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.other-cluster[data-v-e180cd0e]{padding:1px 0 5px 2px}.other-row[data-v-e180cd0e]{font-family:var(--font-mono);opacity:.65;align-items:center;gap:7px;font-size:10.5px;line-height:20px;display:flex}.more-btn[data-v-e180cd0e]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin-top:4px;padding:1px 10px;font-size:10px}.more-btn[data-v-e180cd0e]:hover{color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.event-block[data-v-e91d0927]{-moz-column-gap:11px;grid-template-columns:30px minmax(0,1fr);column-gap:11px;margin:0;padding:5px 10px 4px 12px;transition:background .15s;display:grid;position:relative}.event-block[data-v-e91d0927]:hover{background:var(--hover-tint);border-radius:4px}.event-block.enter[data-v-e91d0927]{animation:block-in-e91d0927 .32s var(--ease-out-quart) backwards;animation-delay:var(--d,0s)}@media (prefers-reduced-motion:reduce){.event-block.enter[data-v-e91d0927]{animation:none}}.event-block.turn-start[data-v-e91d0927]{border-top:1px solid var(--line);margin-top:13px;padding-top:9px}.event-block.turn-start.compact[data-v-e91d0927]{border-top:0;margin-top:0;padding-top:5px}.event-block[data-kind=stream][data-v-e91d0927]:not([data-settled=true]){background:color-mix(in srgb, var(--ink) 2.5%, transparent);border-radius:4px}.event-block[data-tier=attention][data-v-e91d0927]{box-shadow:inset 2px 0 0 color-mix(in srgb, var(--tone-warning-dot) 55%, transparent)}.event-block[data-kind=error][data-v-e91d0927]{box-shadow:inset 2px 0 0 color-mix(in srgb, var(--tone-danger-dot) 70%, transparent)}.event-block[data-covered=true][data-v-e91d0927]{opacity:.72}.event-block[data-tier=terminal][data-v-e91d0927] .agent-name{font-weight:700}.event-block[data-tier=silent][data-v-e91d0927]{opacity:.88}.event-block[data-tier=silent][data-v-e91d0927]:hover{opacity:1}@keyframes block-in-e91d0927{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.event-block.compact .agent-avatar[data-v-e91d0927]{visibility:hidden;height:0;margin-top:0}.event-block.compact[data-v-e91d0927]{padding-top:2px;padding-bottom:2px}.event-block.compact+.event-block.compact[data-v-e91d0927]{margin-top:-2px}.eb-main[data-v-e91d0927]{min-width:0}.ghost-time[data-v-e91d0927]{z-index:2;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);pointer-events:none;opacity:0;background:var(--paper-raised);border-radius:var(--radius-chip);transition:opacity var(--transition-fast);padding:0 5px;font-size:10px;position:absolute;top:3px;right:10px}.event-block.compact:hover .ghost-time[data-v-e91d0927]{opacity:1}.event-block[data-v-e91d0927]:hover .eb-toolbar{opacity:1;pointer-events:auto}.eb-body[data-v-e91d0927]{margin-top:1px;padding-left:2px!important}.event-block[data-operation=dcw][data-v-e91d0927]{background:#c9892217;border-radius:5px;box-shadow:inset 3px 0 #c98922}.event-block[data-operation=daq][data-v-e91d0927]{background:#159f9a12;border-radius:5px;box-shadow:inset 3px 0 #159f9a}.event-block[data-operation=aml][data-v-e91d0927]{background:#7657ad12;border-radius:5px;box-shadow:inset 3px 0 #7657ad}.event-block[data-operation=twin][data-v-e91d0927]{background:#3978b812;border-radius:5px;box-shadow:inset 3px 0 #3978b8}.event-block[data-operation=safety][data-v-e91d0927]{background:#c34d4d1a;border-radius:5px;box-shadow:inset 3px 0 #c34d4d}.event-block[data-operation-severity=critical][data-v-e91d0927] .eb-head{color:var(--tone-danger-dot)}.earlier-btn[data-v-3b62c365]{font-family:var(--font-body);color:var(--ink-faint);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);transition:background var(--transition-fast), color var(--transition-fast);margin:0 auto 10px;padding:4px 14px;font-size:11px;display:block}.earlier-btn[data-v-3b62c365]:hover:not(:disabled){color:var(--ink);background:var(--paper-deep)}.earlier-btn[data-v-3b62c365]:disabled{opacity:.5;cursor:default}.earlier-done[data-v-3b62c365]{font-family:var(--font-mono);text-align:center;color:var(--ink-faint);margin-bottom:8px;font-size:9.5px}@media (width<=1023.98px){.earlier-done[data-v-3b62c365]{font-size:11.5px}.earlier-btn[data-v-3b62c365]{min-height:40px}}.empty[data-v-cc527ff0]{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:72px 16px;display:flex}.empty-icon[data-v-cc527ff0]{color:var(--ink-faint);font-size:28px}.empty-title[data-v-cc527ff0]{font-family:var(--font-body);letter-spacing:-.015em;color:var(--ink-soft);margin:0;font-size:19px;font-weight:600}.empty-hint[data-v-cc527ff0]{color:var(--ink-faint);margin:0;font-size:12px}.skel-stack[data-v-cc527ff0]{flex-direction:column;gap:18px;padding:26px 6px;display:flex}.skel-row[data-v-cc527ff0]{animation:.4s cubic-bezier(.22,.68,.36,1) backwards aw-rise;animation-delay:var(--d,0s);grid-template-columns:26px minmax(0,1fr);gap:10px;display:grid}.skel-ava[data-v-cc527ff0]{border-radius:50%;width:26px;height:26px}.skel-lines[data-v-cc527ff0]{flex-direction:column;gap:6px;display:flex}.skel-line[data-v-cc527ff0]{height:11px}.skel-line.name[data-v-cc527ff0]{width:120px;height:13px}.skel-line.w70[data-v-cc527ff0]{width:70%}.skel-line.w45[data-v-cc527ff0]{width:45%}@media (prefers-reduced-motion:reduce){.skel-row[data-v-cc527ff0]{animation:none}}@media (width<=1023.98px){.empty-hint[data-v-cc527ff0]{font-size:13px}}.filter-bar[data-v-86023cf2]{background:var(--paper-raised);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:6px 16px;display:flex}.count[data-v-86023cf2]{font-size:11px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint)}.sync-chip[data-v-86023cf2]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);background:var(--paper-deep);border-radius:var(--radius-pill);align-items:center;gap:5px;margin-left:auto;padding:1px 8px;font-size:9.5px;display:inline-flex}.sync-chip[data-state=syncing][data-v-86023cf2]{color:var(--tone-warning-dot)}.sync-chip[data-state=open] .sync-dot[data-v-86023cf2]{color:var(--tone-success-dot);font-size:7px}.sync-pulse[data-v-86023cf2]{background:var(--tone-warning-dot);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite sync-breath-86023cf2}@keyframes sync-breath-86023cf2{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.sync-pulse[data-v-86023cf2]{opacity:.8;animation:none}}@media (width<=1023.98px){.filter-bar[data-v-86023cf2]{flex-wrap:wrap;gap:8px;padding:6px 10px}.filter-bar[data-v-86023cf2] .ant-segmented{flex:100%}.count[data-v-86023cf2],.sync-chip[data-v-86023cf2]{font-size:11.5px}}.transcript[data-v-ddded74c]{background:var(--paper);flex-direction:column;height:100%;min-height:0;display:flex}.jump-latest[data-v-ddded74c]{z-index:5;float:right;font-family:var(--font-body);color:var(--on-accent);cursor:pointer;background:var(--accent);border-radius:var(--radius-pill);box-shadow:var(--shadow-float);transition:opacity var(--transition-fast), transform var(--transition-fast);border:none;align-items:center;gap:5px;margin-right:14px;padding:5px 12px;font-size:11px;display:inline-flex;position:sticky;bottom:12px}.jump-latest[data-v-ddded74c]:hover{opacity:.92}.jump-latest[data-v-ddded74c]:active{transform:translateY(1px)}.scroller[data-v-ddded74c]{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.column[data-v-ddded74c]{max-width:900px;margin:0 auto;padding:10px 4px 24px;animation:.28s ease-out column-in-ddded74c}@keyframes column-in-ddded74c{0%{opacity:0}to{opacity:1}}@media (width<=1023.98px){.column[data-v-ddded74c]{padding:8px 8px 22px}.column[data-v-ddded74c] .code-block,.column[data-v-ddded74c] .st-text,.column[data-v-ddded74c] pre,.column[data-v-ddded74c] table{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.column[data-v-ddded74c] canvas,.column[data-v-ddded74c] img,.column[data-v-ddded74c] video{max-width:100%;height:auto}.jump-latest[data-v-ddded74c]{min-height:40px;padding:8px 14px;font-size:12px}}.chat-timeline[data-v-2619237f]{background:var(--paper);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.ct-head[data-v-2619237f]{color:var(--ink-faint);background:var(--paper-raised);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.ct-icon[data-v-2619237f]{font-size:14px}.ct-title[data-v-2619237f]{color:var(--ink);font-size:13px;font-weight:600}.ct-count[data-v-2619237f]{font-family:var(--font-mono);font-size:10.5px}.ct-spacer[data-v-2619237f]{flex:auto}.ct-jump[data-v-2619237f]{color:var(--ink-soft);cursor:pointer;background:var(--paper-deep);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.ct-jump[data-v-2619237f]:hover{color:var(--ink)}.ct-scroll[data-v-2619237f]{flex:auto;min-height:0;padding:10px 14px 16px;overflow-y:auto}.ct-earlier[data-v-2619237f]{font-family:var(--font-body);color:var(--ink-faint);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-pill);margin:0 auto 10px;padding:4px 12px;font-size:12px;display:block}.ct-earlier[data-v-2619237f]:hover{color:var(--ink);border-color:var(--line-strong)}.ct-earlier[data-v-2619237f]:disabled{opacity:.5;cursor:default}.ct-empty[data-v-2619237f]{color:var(--ink-faint);text-align:center;padding:48px 16px;font-size:13px}.ct-empty-icon[data-v-2619237f]{font-size:26px}.ct-empty-sub[data-v-2619237f]{max-width:460px;color:var(--ink-fainter);margin:6px auto 0;font-size:11.5px;line-height:1.6}.ct-row[data-v-2619237f]{border-radius:var(--radius-panel-sm);transition:background var(--transition-fast);gap:10px;padding:6px 6px 7px;display:flex}.ct-row[data-v-2619237f]:hover{background:var(--paper-deep)}.ct-row.system[data-v-2619237f]{opacity:.75}.ct-ava[data-v-2619237f]{width:26px;height:26px;margin-top:1px;font-size:11px}.ct-body[data-v-2619237f]{flex:auto;min-width:0}.ct-meta[data-v-2619237f]{align-items:baseline;gap:7px;min-width:0;display:flex}.ct-sender[data-v-2619237f]{color:var(--ink);font-size:12.5px;font-weight:600}.ct-role[data-v-2619237f]{letter-spacing:.06em;color:var(--ink-faint);text-transform:uppercase;border:1px solid var(--line);border-radius:var(--radius-chip);align-items:center;gap:3px;padding:0 5px;font-size:9.5px;display:inline-flex}.ct-role.user[data-v-2619237f]{color:var(--ink-soft)}.ct-role.agent[data-v-2619237f]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 35%, transparent)}.ct-time[data-v-2619237f]{font-family:var(--font-mono);color:var(--ink-fainter);font-size:10px}.ct-reply-btn[data-v-2619237f]{font-family:var(--font-body);color:var(--ink-faint);cursor:pointer;border-radius:var(--radius-chip);opacity:0;transition:opacity var(--transition-fast), color var(--transition-fast);background:0 0;border:0;margin-left:auto;padding:1px 6px;font-size:11px}.ct-row:hover .ct-reply-btn[data-v-2619237f]{opacity:1}.ct-reply-btn[data-v-2619237f]:hover{color:var(--ink);background:var(--paper-raised)}.ct-replyto[data-v-2619237f]{color:var(--ink-faint);background:var(--paper-deep);border-left:2px solid var(--ink-fainter);border-radius:var(--radius-chip);align-items:center;gap:5px;margin:3px 0 0;padding:1px 7px;font-size:11px;display:inline-flex}.ct-replyto b[data-v-2619237f]{color:var(--ink-soft)}.ct-operation-badge[data-v-2619237f]{font:10px var(--font-mono);border-radius:var(--radius-chip);align-items:center;gap:5px;margin:3px 0 4px;padding:3px 7px;display:inline-flex}.ct-operation-badge.dcw[data-v-2619237f]{color:#a56d17;background:#c989221c}.ct-operation-badge.daq[data-v-2619237f]{color:#148681;background:#159f9a1a}.ct-operation-badge.aml[data-v-2619237f]{color:#7657ad;background:#7657ad1a}.ct-operation-badge.twin[data-v-2619237f]{color:#3978b8;background:#3978b81a}.ct-operation-badge.safety[data-v-2619237f]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.ct-row[data-operation=dcw][data-v-2619237f]{background:#c989220a}.ct-row[data-operation=daq][data-v-2619237f]{background:#159f9a08}.ct-row[data-operation=aml][data-v-2619237f]{background:#7657ad08}.ct-row[data-operation=twin][data-v-2619237f]{background:#3978b808}.ct-row[data-operation=safety][data-v-2619237f]{background:color-mix(in srgb, var(--tone-danger-dot) 5%, transparent)}.ct-text[data-v-2619237f]{color:var(--ink);overflow-wrap:anywhere;word-break:break-word;margin-top:2px;font-size:13.5px;line-height:1.6}.ct-mentions[data-v-2619237f]{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.ct-mention-chip[data-v-2619237f]{border-radius:var(--radius-chip);align-items:center;gap:4px;padding:1px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.ct-mention-chip.agent[data-v-2619237f]{color:var(--mention-ink,var(--ink));cursor:pointer;background:var(--mention,var(--paper-deep))}.ct-mention-chip.user[data-v-2619237f]{color:var(--ink-soft);cursor:default;background:var(--paper-deep);border:1px solid var(--line)}.ct-deliveries[data-v-2619237f]{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.ct-delivery[data-v-2619237f]{border-radius:var(--radius-chip);background:var(--paper-deep);align-items:center;gap:4px;padding:1px 7px;font-size:10.5px;display:inline-flex}.ct-delivery .cd-dot[data-v-2619237f]{background:currentColor;border-radius:50%;width:5px;height:5px}.ct-delivery[data-tone=pending][data-v-2619237f]{color:var(--tone-warning-dot)}.ct-delivery[data-tone=delivered][data-v-2619237f]{color:var(--tone-info-dot)}.ct-delivery[data-tone=consumed][data-v-2619237f]{color:var(--tone-success-dot)}.ct-delivery[data-tone=failed][data-v-2619237f]{color:var(--tone-danger-dot)}.ct-delivery[data-tone=cancelled][data-v-2619237f]{color:var(--ink-faint)}.ct-source[data-v-2619237f]{font-family:var(--font-mono);color:var(--ink-fainter);align-items:center;gap:5px;margin-top:3px;font-size:10px;display:flex}@media (width<=1023.98px){.ct-sender[data-v-2619237f]{font-size:13.5px}.ct-text[data-v-2619237f]{font-size:15px}.ct-reply-btn[data-v-2619237f]{opacity:1;min-height:32px}}.lane-empty[data-v-e020dd8e]{color:var(--ink-faint);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 8px;font-size:11.5px;display:flex}.lane-empty-icon[data-v-e020dd8e]{color:var(--ink-faint);font-size:16px;animation:1.2s linear infinite lane-sync-spin-e020dd8e}@keyframes lane-sync-spin-e020dd8e{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.lane-empty-icon[data-v-e020dd8e]{animation:none}}.lane-earlier[data-v-e020dd8e]{font-family:var(--font-mono);color:var(--ink-faint);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-chip);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;margin:2px auto 8px;padding:2px 12px;font-size:10px;display:block}.lane-earlier[data-v-e020dd8e]:hover:not(:disabled){color:var(--ink);background:var(--hover-tint);border-color:var(--ink-fainter)}.lane-earlier[data-v-e020dd8e]:disabled{cursor:default;opacity:.55}.toolbar[data-v-e63b2e97]{background:var(--paper-raised);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 14px 6px;display:flex}.team-summary[data-v-e63b2e97]{flex:auto;align-items:baseline;gap:7px;min-width:0;display:flex}.ts-label[data-v-e63b2e97]{letter-spacing:.08em;color:var(--ink-faint);flex:none;font-size:11px}.ts-count[data-v-e63b2e97]{color:var(--ink);flex:none;font-size:15px;font-weight:700;line-height:1}.ts-unit[data-v-e63b2e97]{color:var(--ink-faint);flex:none;font-size:11px}.ts-detail[data-v-e63b2e97]{min-width:0;font-size:11px;font-family:var(--font-mono);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}@media (width<=1023.98px){.toolbar[data-v-e63b2e97]{flex-wrap:wrap;gap:8px;padding:8px 10px 6px}.ts-detail[data-v-e63b2e97],.ts-label[data-v-e63b2e97],.ts-unit[data-v-e63b2e97]{font-size:11.5px}}.lane-head[data-v-c7c28180]{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:8px;padding:10px 12px 9px;font-size:13px;display:flex}.head-top[data-v-c7c28180]{align-items:center;gap:7px;min-width:0;display:flex}.lane-ava[data-v-c7c28180]{width:26px;height:26px;color:var(--on-av);border-radius:var(--radius-panel-sm);flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex;position:relative}.lane-ava>span[data-v-c7c28180]:first-child{background:var(--av,var(--av-fallback));border-radius:var(--radius-panel-sm);justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.lane-state[data-v-c7c28180]{background:var(--ink-fainter);border:1.5px solid var(--paper-raised);border-radius:50%;width:8px;height:8px;position:absolute;bottom:-2px;right:-2px}.lane-state.busy[data-v-c7c28180]{background:var(--tone-live-dot);animation:1.9s ease-in-out infinite lane-breathe-c7c28180}.lane-state.stopped[data-v-c7c28180]{background:var(--tone-danger-dot)}@keyframes lane-breathe-c7c28180{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.lane-state.busy[data-v-c7c28180]{opacity:.9;animation:none}}.lane-name[data-v-c7c28180]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13.5px;font-weight:700;overflow:hidden}.lane-chip[data-v-c7c28180]{letter-spacing:.04em;color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:0 0;flex:none;padding:0 6px;font-size:9.5px;line-height:15px}.lane-role[data-v-c7c28180]{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-pill);flex:none;padding:0 7px;font-size:9.5px;line-height:16px}.lane-role.lead[data-v-c7c28180]{color:var(--on-accent);background:var(--accent)}.lane-role.worker[data-v-c7c28180]{color:var(--ink-soft);border:1px solid var(--line-strong)}.term-badge[data-v-c7c28180]{font-family:var(--font-mono);color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;align-items:center;gap:4px;padding:0 6px;font-size:10px;line-height:15px;display:inline-flex}.term-badge .term-dot[data-v-c7c28180]{border-radius:50%;width:5px;height:5px}.cont-badge[data-v-c7c28180],.sup-badge[data-v-c7c28180]{max-width:140px;font-family:var(--font-mono);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;align-items:center;padding:0 6px;font-size:9.5px;line-height:15px;display:inline-flex;overflow:hidden}.cont-badge.restart[data-v-c7c28180]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.sup-badge.watchdog[data-v-c7c28180]{color:var(--tone-warn-dot,var(--tone-info-dot));border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.sup-badge.decision[data-v-c7c28180]{color:var(--ink-soft)}.sup-badge.running[data-v-c7c28180]{color:var(--tone-live-dot);border-color:color-mix(in srgb, var(--tone-live-dot) 40%, transparent)}.head-sub[data-v-c7c28180]{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.lane-meta[data-v-c7c28180]{min-width:0;font-size:10.5px;font-family:var(--font-mono);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.lane-progress[data-v-c7c28180]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 10%, transparent);border-radius:var(--radius-pill);align-items:center;margin-left:4px;padding:0 5px;display:inline-flex}.lane-actions[data-v-c7c28180]{background:var(--hover-tint);border-radius:var(--radius-chip);flex:none;align-items:center;gap:5px;padding:2px;display:flex}.lane-actions .ant-btn[data-v-c7c28180]{opacity:.78;font-size:12px;transition:opacity .15s}.lane-head:hover .lane-actions .ant-btn[data-v-c7c28180]{opacity:1}.actions-divider[data-v-c7c28180]{background:color-mix(in srgb, currentColor 16%, transparent);flex:none;width:1px;height:14px;margin-inline:2px}.lane-term[data-v-c7c28180]{padding-inline:7px}.lane-edit[data-v-c7c28180],.lane-remove[data-v-c7c28180],.lane-stop[data-v-c7c28180]{padding-inline:5px}.term-label[data-v-c7c28180]{margin-inline-start:5px;display:none}@container (width>=380px){.term-label[data-v-c7c28180]{display:inline}}@container (width<=300px){.lane-chip[data-v-c7c28180]{display:none}}@container (width<=260px){.term-badge[data-v-c7c28180]{display:none}}@media (width<=1023.98px){.lane-meta[data-v-c7c28180]{font-size:11.5px}.lane-name[data-v-c7c28180]{font-size:14px}.lane-chip[data-v-c7c28180],.lane-role[data-v-c7c28180],.term-badge[data-v-c7c28180]{font-size:11.5px;line-height:18px}.lane-actions .ant-btn[data-v-c7c28180]{min-width:40px;min-height:40px}}.member-form[data-v-d59512fd]{margin-top:8px}.mode-switch[data-v-d59512fd]{margin-top:4px}.mode-hint[data-v-d59512fd]{opacity:.6;background:color-mix(in srgb, currentColor 5%, transparent);border-radius:var(--radius-chip);padding:6px 8px;font-size:11px}.member-form[data-v-99be88c4]{margin-top:8px}.lanes-wrap[data-v-6cd7fe4a]{background:var(--paper);flex-direction:column;flex:auto;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.lanes[data-v-6cd7fe4a]{overscroll-behavior:contain;flex:auto;gap:10px;width:100%;min-width:0;min-height:0;padding:8px 12px 12px;display:flex;overflow:auto hidden}.lane[data-v-6cd7fe4a]{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);min-width:240px;box-shadow:var(--shadow-card);flex-direction:column;flex:none;display:flex;container-type:inline-size}.lane-body[data-v-6cd7fe4a]{overscroll-behavior:contain;background:var(--paper);flex:auto;min-height:0;padding:8px 4px 16px;overflow-y:auto}.empty[data-v-6cd7fe4a]{color:var(--ink-faint);text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:6px;padding:32px 12px;font-size:12px;display:flex}.empty-icon[data-v-6cd7fe4a]{color:var(--ink-faint);font-size:22px}.empty-title[data-v-6cd7fe4a]{color:var(--ink-soft);margin:0;font-size:13px}.empty-hint[data-v-6cd7fe4a]{color:var(--ink-faint);margin:0;font-size:11px}@media (width<=1023.98px){.empty-hint[data-v-6cd7fe4a]{font-size:11.5px}.lanes[data-v-6cd7fe4a]{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:8px}.lane[data-v-6cd7fe4a]{scroll-snap-align:center;flex:0 0 88%;min-width:0}.empty-title[data-v-6cd7fe4a]{font-size:13px}}.card.task[data-v-f0cebd85]{cursor:pointer;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);margin-bottom:8px;padding:10px 12px;transition:transform .12s,border-color .12s,opacity .12s;position:relative}.card.task[data-v-f0cebd85]:hover{border-color:var(--line-strong);transform:translateY(-1px)}.card.task.dragging[data-v-f0cebd85]{opacity:.45;cursor:grabbing}.tk-chan[data-v-f0cebd85]{color:var(--ink-faint);gap:8px;font-size:11.5px;display:flex}.tk-num[data-v-f0cebd85]{font-variant-numeric:tabular-nums;color:var(--ink-faint)}.tk-title[data-v-f0cebd85]{color:var(--ink);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:3px 0 6px;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.tk-route[data-v-f0cebd85]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:11px;overflow:hidden}.tk-foot[data-v-f0cebd85]{justify-content:flex-end;display:flex}.st-pill-btn[data-v-f0cebd85]{cursor:pointer;background:0 0;border:0;padding:0}.st-pill[data-v-f0cebd85]{border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:1px 9px;font-size:11px;font-weight:600;display:inline-flex}.st-pill-btn:hover .st-pill[data-v-f0cebd85]{background:var(--hover-tint)}@media (width<=1023.98px){.st-pill[data-v-f0cebd85],.tk-route[data-v-f0cebd85]{font-size:11.5px}.st-pill-btn[data-v-f0cebd85]{min-height:40px}}.task-col[data-v-26e70708]{background:var(--paper-deep);border-radius:var(--radius-panel);flex-direction:column;flex:0 0 300px;min-width:280px;min-height:0;padding:2px 8px 8px;display:flex}.task-col.drop-over[data-v-26e70708]{background:var(--tone-info-bg);outline:2px dashed color-mix(in srgb, var(--tone-info-dot) 65%, transparent);outline-offset:-2px}.task-col.no-drop[data-v-26e70708]{opacity:.6}.task-col.drag-origin[data-v-26e70708]{opacity:.85}.sec[data-v-26e70708]{align-items:center;gap:7px;padding:10px 6px 8px;display:flex}.sec-title[data-v-26e70708]{letter-spacing:.06em;color:var(--ink-soft);font-size:12px;font-weight:600}.sec-cnt[data-v-26e70708]{font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:11px}.st-dot[data-v-26e70708]{border-radius:50%;flex:none;width:8px;height:8px}.task-col-body[data-v-26e70708]{overscroll-behavior:contain;flex:auto;min-height:0;padding:0 2px;overflow-y:auto}.col-empty[data-v-26e70708]{color:var(--ink-faint);text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--radius-panel);padding:14px 8px;font-size:11.5px}@media (width<=1023.98px){.sec-cnt[data-v-26e70708]{font-size:11.5px}.task-col[data-v-26e70708]{scroll-snap-align:center;flex:0 0 86%;min-width:0}}.task-list[data-v-fd98e61c]{overscroll-behavior:contain;flex:auto;min-height:0;padding:10px 16px 18px;overflow-y:auto}.list-sec[data-v-fd98e61c]{padding:8px 2px 6px}.list-row[data-v-fd98e61c]{cursor:pointer;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);align-items:center;gap:12px;margin-bottom:4px;padding:9px 12px;transition:border-color .12s;display:flex}.list-row[data-v-fd98e61c]:hover{border-color:var(--line-strong)}.list-row .grow[data-v-fd98e61c]{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;overflow:hidden}.lnum[data-v-fd98e61c]{color:var(--ink-faint);font-size:12px}.meta[data-v-fd98e61c]{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px}.sec[data-v-fd98e61c]{align-items:center;gap:7px;padding:10px 6px 8px;display:flex}.sec-title[data-v-fd98e61c]{letter-spacing:.06em;color:var(--ink-soft);font-size:12px;font-weight:600}.sec-cnt[data-v-fd98e61c]{font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:11px}.st-dot[data-v-fd98e61c]{border-radius:50%;flex:none;width:8px;height:8px}.st-pill[data-v-fd98e61c]{border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:1px 9px;font-size:11px;font-weight:600;display:inline-flex}@media (width<=1023.98px){.meta[data-v-fd98e61c],.sec-cnt[data-v-fd98e61c],.st-pill[data-v-fd98e61c]{font-size:11.5px}.list-row[data-v-fd98e61c]{flex-wrap:wrap;row-gap:4px;min-height:44px}.list-row .grow[data-v-fd98e61c]{flex:60%}}.menu-backdrop[data-v-390050bb]{z-index:60;position:fixed;inset:0}.st-menu[data-v-390050bb]{z-index:61;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-panel-sm);min-width:128px;box-shadow:var(--shadow-float);padding:4px;position:fixed}.st-menu button[data-v-390050bb]{width:100%;font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;border-radius:var(--radius-chip);background:0 0;border:0;align-items:center;gap:7px;padding:6px 9px;font-size:12.5px;display:flex}.st-menu button[data-v-390050bb]:hover{background:var(--paper-deep);color:var(--ink)}.st-menu button.danger[data-v-390050bb]{color:var(--tone-danger-dot)}@media (width<=1023.98px){.st-menu button[data-v-390050bb]{min-height:44px}}.board-shell[data-v-c4d89219]{flex-direction:column;flex:auto;min-height:0;animation:.2s cubic-bezier(.22,1,.36,1) view-in-c4d89219;display:flex}@keyframes view-in-c4d89219{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.board-shell[data-v-c4d89219]{animation:none}}.toolbar[data-v-c4d89219]{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;padding:10px 16px;display:flex}.count[data-v-c4d89219]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.root-pill[data-v-c4d89219]{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);border-radius:999px;max-width:min(42vw,360px);padding:4px 8px;font-size:10.5px;font-weight:600;overflow:hidden}.root-pill.active[data-v-c4d89219]{color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, transparent)}.root-pill.queued[data-v-c4d89219]{color:var(--ink-faint);background:var(--surface-strong)}.root-pill.done[data-v-c4d89219]{color:var(--ink-faint);background:0 0}.root-pos[data-v-c4d89219]{opacity:.75;margin-left:4px;font-weight:500}.board[data-v-c4d89219]{overscroll-behavior:contain;flex:auto;align-items:stretch;gap:12px;min-height:0;padding:12px 14px 14px;display:flex;overflow-x:auto}@media (width<=1023.98px){.toolbar[data-v-c4d89219]{flex-wrap:wrap;gap:8px;padding:10px}.count[data-v-c4d89219]{font-size:11.5px}.board[data-v-c4d89219]{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:10px}}.split[data-v-072db8c2]{overscroll-behavior:contain;gap:8px;height:100%;min-height:0;padding:8px;display:flex;overflow-x:auto}.col[data-v-072db8c2]{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel-sm);flex-direction:column;flex:none;min-width:300px;display:flex}.col-head[data-v-072db8c2]{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.col-name[data-v-072db8c2]{font-size:13px;font-weight:700}.col-meta[data-v-072db8c2]{font-size:11px;font-family:var(--font-mono);color:var(--ink-faint);text-align:right;flex:auto}.col-body[data-v-072db8c2]{overscroll-behavior:contain;min-height:0;font-family:var(--font-mono);flex:auto;font-size:11px;overflow-y:auto}.mini-event[data-v-072db8c2]{gap:6px;padding:2px 8px;line-height:1.6;display:flex}.mini-event.clickable[data-v-072db8c2]{cursor:pointer}.mini-event.clickable[data-v-072db8c2]:hover{background:var(--hover-tint)}.me-time[data-v-072db8c2],.me-agent[data-v-072db8c2]{color:var(--ink-faint);flex:none}.me-text[data-v-072db8c2]{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.col-empty[data-v-072db8c2],.empty[data-v-072db8c2]{color:var(--ink-faint);text-align:center;padding:24px 8px;font-size:12px}.memory-panel[data-v-a93513da]{font-size:12px}.toolbar[data-v-a93513da]{align-items:center;gap:6px;margin-bottom:6px;display:flex}.agent-select[data-v-a93513da]{flex:auto;min-width:90px}.token-state[data-v-a93513da]{font-family:var(--font-mono);border-radius:var(--radius-chip);background:color-mix(in srgb, currentColor 8%, transparent);flex:none;padding:0 5px;font-size:10px}.token-state[data-ok=true][data-v-a93513da]{color:var(--tone-success-dot)}.token-state[data-ok=false][data-v-a93513da]{color:var(--tone-warning-dot)}.token[data-v-a93513da]{margin-bottom:6px}.search-bar[data-v-a93513da]{gap:6px;margin-bottom:6px;display:flex}.scope[data-v-a93513da]{width:90px}.search-results[data-v-a93513da]{margin-bottom:8px}.hit[data-v-a93513da]{font-family:var(--font-mono);align-items:center;gap:6px;padding:2px 4px;font-size:11px;display:flex}.src[data-v-a93513da]{color:var(--tone-info-dot);background:var(--tone-info-bg);border-radius:var(--radius-chip);padding:0 4px}.src[data-source=shared][data-v-a93513da]{color:var(--tone-retry-dot);background:var(--tone-retry-bg)}.score[data-v-a93513da]{opacity:.5}.hit-title[data-v-a93513da]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-head[data-v-a93513da]{opacity:.7;justify-content:space-between;align-items:center;padding:4px 0;font-weight:600;display:flex}.row[data-v-a93513da]{border-bottom:1px dashed color-mix(in srgb, currentColor 10%, transparent);padding:4px 0}.row-head[data-v-a93513da]{align-items:center;gap:6px;display:flex}.kind[data-v-a93513da]{margin-inline-end:0;font-size:10px}.row-importance[data-v-a93513da]{font-family:var(--font-mono);opacity:.5;font-size:10px}.row-title[data-v-a93513da]{font-size:12px;font-weight:600}.row-meta[data-v-a93513da]{font-family:var(--font-mono);color:var(--ink-faint);gap:8px;margin:2px 0 1px;font-size:9.5px;display:flex}.row-vis[data-v-a93513da]{text-transform:uppercase;letter-spacing:.03em}.row-content[data-v-a93513da]{opacity:.65;word-break:break-all;font-size:11px}.empty[data-v-a93513da]{opacity:.4;padding:8px 0}.stats[data-v-23e4d795]{flex-direction:column;gap:10px;font-size:12px;display:flex}.kpis[data-v-23e4d795]{gap:8px;display:flex}.kpi[data-v-23e4d795]{text-align:center;border:1px solid color-mix(in srgb, currentColor 10%, transparent);border-radius:var(--radius-panel-sm);flex:1 1 0;padding:8px}.kpi-num[data-v-23e4d795]{font-size:16px;font-weight:700;font-family:var(--font-mono)}.kpi-label[data-v-23e4d795]{opacity:.55;margin-top:2px;font-size:11px}.chart[data-v-23e4d795]{border:1px solid color-mix(in srgb, currentColor 10%, transparent);border-radius:var(--radius-panel-sm);height:140px}.app-chart[data-v-23e4d795]{height:100%}.types-title[data-v-23e4d795]{opacity:.7;padding:4px 0;font-weight:600}.type-row[data-v-23e4d795]{font-family:var(--font-mono);align-items:center;gap:6px;padding:1px 0;font-size:11px;display:flex}.t-name[data-v-23e4d795]{text-overflow:ellipsis;white-space:nowrap;flex:0 0 150px;overflow:hidden}.t-bar-wrap[data-v-23e4d795]{background:color-mix(in srgb, currentColor 8%, transparent);border-radius:var(--radius-pill);flex:auto;height:8px;overflow:hidden}.t-bar[data-v-23e4d795]{background:var(--color-primary);height:100%}.t-n[data-v-23e4d795]{text-align:right;opacity:.6;flex:0 0 36px}.empty[data-v-23e4d795]{opacity:.4;padding:8px 0}.inspector[data-v-008172db]{height:100%;padding:0 8px;overflow-y:auto}.tabs[data-v-008172db]{height:100%}.tabs[data-v-008172db] .ant-tabs-content-holder{overflow-y:auto}.tabs[data-v-008172db] .ant-tabs-nav{margin-bottom:8px}.member[data-v-008172db]{cursor:pointer;align-items:center;gap:9px;margin:3px 0;padding:8px 10px;display:flex}.member[data-v-008172db]:hover{border-color:var(--line-strong)}.dot[data-v-008172db]{border-radius:50%;flex:none;width:8px;height:8px}.member-info[data-v-008172db]{flex:auto;min-width:0}.member-name[data-v-008172db]{align-items:center;gap:7px;font-size:13px;display:flex}.name-text[data-v-008172db]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.role-chip[data-v-008172db]{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-pill);flex:none;padding:0 7px;font-size:9.5px;line-height:16px}.role-chip.lead[data-v-008172db]{color:var(--on-accent);background:var(--accent)}.role-chip.worker[data-v-008172db]{color:var(--ink-soft);border:1px solid var(--line-strong)}.member-meta[data-v-008172db]{font-size:11px;font-family:var(--font-mono);color:var(--ink-faint)}.prog[data-v-008172db]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 10%, transparent);border-radius:var(--radius-pill);padding:0 5px}.member-cap[data-v-008172db]{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-faint);margin-top:2px;font-size:10px}.ct[data-v-008172db]{opacity:.8}.task[data-v-008172db]{cursor:pointer;margin:3px 0;padding:8px 10px}.task[data-v-008172db]:hover{border-color:var(--line-strong)}.task-head[data-v-008172db]{align-items:center;gap:6px;display:flex}.state-chip[data-v-008172db]{letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:0 0;flex:none;padding:1px 7px;font-size:9.5px;line-height:15px}.task-title[data-v-008172db]{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:13px;overflow:hidden}.task-meta[data-v-008172db]{font-size:11px;font-family:var(--font-mono);color:var(--ink-faint)}.empty[data-v-008172db]{color:var(--ink-faint);padding:16px 8px;font-size:12px}@media (width<=1023.98px){.inspector[data-v-008172db]{width:100%;padding:0 10px}.tabs[data-v-008172db] .ant-tabs-tab{min-height:44px}.member[data-v-008172db],.task[data-v-008172db]{min-height:44px;padding:10px}.member-cap[data-v-008172db],.member-meta[data-v-008172db],.role-chip[data-v-008172db],.state-chip[data-v-008172db],.task-meta[data-v-008172db]{font-size:11.5px}.role-chip[data-v-008172db],.state-chip[data-v-008172db]{line-height:18px}.empty[data-v-008172db]{font-size:13px}}.center-pane[data-v-d18673eb]{background:var(--paper);flex:auto;min-width:0;max-width:100%;min-height:0;display:flex;overflow:hidden}.center-pane[data-v-d18673eb]>*{min-width:0;max-width:100%}.member-panel[data-v-757b8013]{background:var(--paper-raised);flex-direction:column;min-height:0;display:flex}.mp-head[data-v-757b8013]{color:var(--ink-faint);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:7px;padding:7px 12px;font-size:12px;display:flex}.mp-icon[data-v-757b8013]{font-size:14px}.mp-title[data-v-757b8013]{color:var(--ink);font-size:12.5px;font-weight:600}.mp-count[data-v-757b8013]{font-family:var(--font-mono);background:var(--paper-deep);border-radius:var(--radius-chip);padding:0 5px;font-size:10px}.mp-spacer[data-v-757b8013]{flex:auto}.mp-refresh[data-v-757b8013]{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;align-items:center;padding:2px 4px;font-size:13px;display:inline-flex}.mp-refresh[data-v-757b8013]:hover{color:var(--ink)}.mp-scroll[data-v-757b8013]{flex:auto;min-height:0;padding:8px 10px 10px;overflow-y:auto}.mp-actions[data-v-757b8013]{margin-bottom:8px}.mp-hint[data-v-757b8013]{color:var(--ink-faint);background:var(--paper-deep);border-radius:var(--radius-chip);align-items:center;gap:5px;padding:5px 8px;font-size:11.5px;line-height:1.5;display:flex}.mp-hint.pending[data-v-757b8013]{color:var(--tone-warning-dot)}.mp-error[data-v-757b8013]{color:var(--tone-danger-dot);background:color-mix(in srgb, var(--tone-danger-dot) 8%, transparent);border-radius:var(--radius-chip);align-items:center;gap:4px;margin:6px 0;padding:5px 8px;font-size:11.5px;line-height:1.5;display:flex}.mp-list[data-v-757b8013]{flex-direction:column;display:flex}.mp-row[data-v-757b8013]{border-radius:var(--radius-panel-sm);align-items:center;gap:8px;padding:5px 6px;display:flex}.mp-row[data-v-757b8013]:hover{background:var(--paper-deep)}.mp-row.left[data-v-757b8013],.mp-row.removed[data-v-757b8013]{opacity:.55}.mp-ava[data-v-757b8013]{width:24px;height:24px;font-size:11px}.mp-info[data-v-757b8013]{flex:auto;min-width:0}.mp-name-line[data-v-757b8013]{align-items:baseline;gap:5px;min-width:0;display:flex}.mp-name[data-v-757b8013]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.mp-role.owner[data-v-757b8013]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--tone-warning-dot);border:1px solid color-mix(in srgb, var(--tone-warning-dot) 40%, transparent);border-radius:var(--radius-chip);flex:none;padding:0 5px;font-size:9px}.mp-sub[data-v-757b8013]{color:var(--ink-fainter);align-items:center;gap:6px;font-size:10.5px;display:flex}.mp-status[data-status=active][data-v-757b8013]{color:var(--tone-success-dot)}.mp-status[data-status=pending][data-v-757b8013]{color:var(--tone-warning-dot)}.mp-status[data-status=removed][data-v-757b8013]{color:var(--tone-danger-dot)}.mp-joined[data-v-757b8013]{font-family:var(--font-mono)}.mp-row-actions[data-v-757b8013]{flex:none;gap:4px;display:flex}.mp-settings[data-v-757b8013]{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.mp-sec-title[data-v-757b8013]{letter-spacing:.04em;color:var(--ink-soft);align-items:baseline;gap:6px;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.mp-ver[data-v-757b8013]{font-family:var(--font-mono);color:var(--ink-fainter);font-size:9.5px}.mp-field[data-v-757b8013]{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px;font-size:11.5px;display:flex}.mp-field[data-v-757b8013] .ant-select{min-width:132px}.mp-field.switch[data-v-757b8013]{margin-bottom:8px}.line-ops-panel[data-v-ee6a7db1]{min-height:0;color:var(--ink);background:linear-gradient(145deg, color-mix(in srgb, var(--paper-raised) 92%, #0e2630), var(--paper-raised));border-bottom:1px solid var(--line-strong);flex-direction:column;flex-shrink:0;padding:14px 14px 10px;display:flex}.lop-head[data-v-ee6a7db1]{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.lop-kicker[data-v-ee6a7db1]{font:11px var(--font-mono);letter-spacing:.11em;color:var(--ink-faint);align-items:center;gap:6px;display:flex}.lop-live[data-v-ee6a7db1]{background:#25b39d;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #25b39d26}.lop-head h3[data-v-ee6a7db1]{letter-spacing:-.02em;margin:5px 0 0;font-size:17px}.lop-phase[data-v-ee6a7db1]{font:11px var(--font-mono);color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 5%, transparent);border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:5px;padding:5px 8px;display:inline-flex}.lop-phase.attention[data-v-ee6a7db1]{color:#b8791e;background:#b8791e17;border-color:#b8791e59}.lop-phase.critical[data-v-ee6a7db1]{color:var(--tone-danger-dot)}.lop-summary[data-v-ee6a7db1]{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px;display:grid}.lop-stat[data-v-ee6a7db1]{background:color-mix(in srgb, var(--paper-deep) 80%, transparent);border:1px solid var(--line);border-radius:7px;min-width:0;padding:7px 7px 6px}.lop-stat small[data-v-ee6a7db1],.lop-stat span[data-v-ee6a7db1]{font:10.5px var(--font-mono);color:var(--ink-faint);display:block}.lop-stat b[data-v-ee6a7db1]{font:16px var(--font-mono);color:var(--ink);margin:1px 0;display:block}.lop-stat.dcw b[data-v-ee6a7db1]{color:#b8791e}.lop-stat.daq b[data-v-ee6a7db1]{color:#158f8a}.lop-stat.aml b[data-v-ee6a7db1]{color:#7657ad}.lop-stat.safety b[data-v-ee6a7db1]{color:var(--tone-danger-dot)}.lop-filters[data-v-ee6a7db1]{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.lop-filters button[data-v-ee6a7db1]{color:var(--ink-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 7px;font-size:11px}.lop-filters button[data-v-ee6a7db1]:hover{color:var(--ink);background:var(--hover-tint)}.lop-filters button.on[data-v-ee6a7db1]{color:var(--ink);background:var(--paper-deep);border-color:var(--line-strong)}.lop-timeline[data-v-ee6a7db1]{min-height:76px;max-height:274px;padding-right:2px;overflow:auto}.lop-event[data-v-ee6a7db1]{border-left:2px solid var(--line-strong);background:color-mix(in srgb, var(--paper-deep) 42%, transparent);border-radius:5px;grid-template-columns:22px minmax(0,1fr);gap:7px;margin:3px 0;padding:7px 6px;display:grid}.lop-event.dcw[data-v-ee6a7db1]{border-left-color:#c98922}.lop-event.daq[data-v-ee6a7db1]{border-left-color:#159f9a}.lop-event.aml[data-v-ee6a7db1]{border-left-color:#7657ad}.lop-event.twin[data-v-ee6a7db1]{border-left-color:#3978b8}.lop-event.safety[data-v-ee6a7db1]{border-left-color:var(--tone-danger-dot)}.lop-event.critical[data-v-ee6a7db1]{background:color-mix(in srgb, var(--tone-danger-dot) 8%, transparent)}.lop-event-icon[data-v-ee6a7db1]{width:20px;height:20px;color:var(--ink-faint);place-items:center;font-size:13px;display:grid}.lop-event.dcw .lop-event-icon[data-v-ee6a7db1]{color:#b8791e}.lop-event.daq .lop-event-icon[data-v-ee6a7db1]{color:#159f9a}.lop-event.aml .lop-event-icon[data-v-ee6a7db1]{color:#7657ad}.lop-event.twin .lop-event-icon[data-v-ee6a7db1]{color:#3978b8}.lop-event.safety .lop-event-icon[data-v-ee6a7db1]{color:var(--tone-danger-dot)}.lop-event-top[data-v-ee6a7db1]{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.lop-event-top strong[data-v-ee6a7db1]{font-size:11.5px}.lop-event-top time[data-v-ee6a7db1]{font:10.5px var(--font-mono);color:var(--ink-faint);flex:none}.lop-event p[data-v-ee6a7db1]{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:11.5px;line-height:1.35;overflow:hidden}.lop-event small[data-v-ee6a7db1]{font:10.5px var(--font-mono);color:var(--ink-faint)}.lop-empty[data-v-ee6a7db1]{min-height:70px;color:var(--ink-faint);justify-content:center;align-items:center;gap:7px;font-size:11px;display:flex}@media (width<=1023.98px){.lop-timeline[data-v-ee6a7db1]{max-height:220px}}.right-pane[data-v-ad696fef]{background:var(--paper);flex-direction:column;flex:none;min-height:0;display:flex;overflow:hidden}.right-main[data-v-ad696fef]{flex:auto;min-height:0}.right-chat[data-v-ad696fef]{border-top:1px solid var(--line);flex:none;min-height:0;max-height:46%;overflow:hidden auto}.right-pane.empty[data-v-ad696fef]{opacity:.35}.pane-loading[data-v-ad696fef]{height:100%;color:var(--ink-faint);justify-content:center;align-items:center;font-size:12px;display:flex}@media (width<=1023.98px){.pane-loading[data-v-ad696fef]{font-size:13px}}.composer-bar[data-v-0e8a0ec6]{justify-content:space-between;align-items:center;gap:12px;min-height:30px;margin-top:6px;display:flex}.cb-left[data-v-0e8a0ec6]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cb-right[data-v-0e8a0ec6]{flex:none;align-items:center;gap:8px;display:flex}.chip-toggle[data-v-0e8a0ec6]{font-family:var(--font-body);color:var(--ink-faint);cursor:pointer;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:5px;padding:3px 10px;font-size:12px;display:inline-flex}.chip-toggle[data-v-0e8a0ec6]:hover{color:var(--ink)}.chip-toggle.on[data-v-0e8a0ec6]{color:var(--ink);background:var(--paper-deep);border-color:var(--ink);font-weight:600}.send-btn[data-v-0e8a0ec6]{width:32px;height:32px;color:var(--on-accent);cursor:pointer;background:var(--accent);border-radius:var(--radius-pill);transition:background var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);border:0;justify-content:center;align-items:center;padding:0;font-size:15px;display:flex}.send-btn[data-v-0e8a0ec6]:hover:not(:disabled){background:var(--accent-strong)}.send-btn[data-v-0e8a0ec6]:active:not(:disabled){transform:scale(.96)}.send-btn[data-v-0e8a0ec6]:disabled{opacity:.3;cursor:default}.loop-number[data-v-0e8a0ec6],.loop-number.iterations[data-v-0e8a0ec6]{width:104px}.target[data-v-0e8a0ec6]{width:138px}@media (width<=1023.98px){.composer-bar[data-v-0e8a0ec6]{flex-wrap:wrap;gap:8px;margin-top:8px}.cb-left[data-v-0e8a0ec6]{flex:100%;row-gap:8px}.cb-right[data-v-0e8a0ec6]{flex:100%}.send-btn[data-v-0e8a0ec6]{width:100%;height:44px;font-size:18px}.aw-seg button[data-v-0e8a0ec6]{min-height:40px;padding:0 12px}.chip-toggle[data-v-0e8a0ec6]{min-height:40px}.target[data-v-0e8a0ec6]{flex:130px;width:auto}.composer-bar[data-v-0e8a0ec6] .ant-select-selector{align-items:center;min-height:40px}.loop-number[data-v-0e8a0ec6],.loop-number.iterations[data-v-0e8a0ec6]{flex:96px;width:auto}.composer-bar[data-v-0e8a0ec6] .ant-input-number{min-height:40px}}.mention-menu[data-v-8c7bee05]{z-index:20;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-panel);max-height:264px;box-shadow:var(--shadow-float);margin-bottom:8px;position:absolute;bottom:100%;left:12px;right:12px;overflow:auto}.mention-opt[data-v-8c7bee05]{width:100%;font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:7px 12px;font-size:13px;display:flex}.mention-opt.sel[data-v-8c7bee05],.mention-opt[data-v-8c7bee05]:hover{background:var(--paper-deep)}.mention-ava[data-v-8c7bee05]{width:20px;height:20px;font-size:10px}.mention-ava.is-user[data-v-8c7bee05]{color:var(--on-accent);background:var(--ink-faint)}.mention-name[data-v-8c7bee05]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;overflow:hidden}.mention-role[data-v-8c7bee05]{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;flex:none;font-size:10.5px}.mention-title[data-v-8c7bee05]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:5px 12px 4px;font-size:10px;font-weight:600}.mention-state[data-v-8c7bee05]{background:var(--ink-fainter);opacity:.7;border-radius:50%;flex:none;width:7px;height:7px}.mention-state.busy[data-v-8c7bee05]{background:var(--tone-live-dot);opacity:1}@media (width<=1023.98px){.mention-role[data-v-8c7bee05],.mention-title[data-v-8c7bee05]{font-size:11.5px}.mention-opt[data-v-8c7bee05]{min-height:44px}}.reply-chip[data-v-06497763]{color:var(--ink-soft);background:var(--paper-deep);border-left:2px solid var(--ink-fainter);border-radius:var(--radius-chip);align-items:center;gap:6px;margin:2px 0 4px;padding:3px 8px;font-size:11.5px;display:flex}.reply-label b[data-v-06497763]{color:var(--ink)}.reply-excerpt[data-v-06497763]{max-width:46%;color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reply-cancel[data-v-06497763]{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;align-items:center;padding:0 2px;font-size:12px;display:inline-flex}.reply-cancel[data-v-06497763]:hover{color:var(--ink)}.composer-status-chip[data-v-4f48744e]{width:max-content;max-width:100%;color:var(--ink-faint);background:var(--paper-deep);border-radius:var(--radius-chip);align-items:center;gap:6px;margin:0 0 4px 2px;padding:2px 8px;font-size:11.5px;display:flex}.chip-key[data-v-4f48744e]{color:var(--ink-soft);font-weight:600}.chip-target[data-v-4f48744e]{color:var(--ink);font-weight:600}.chip-hint[data-v-4f48744e]{color:var(--ink-faint);margin-left:auto;padding-left:8px}.reach-chip[data-v-4f48744e]{border-radius:var(--radius-chip);align-items:center;gap:5px;padding:0 6px;font-size:10.5px;display:inline-flex}.reach-chip .reach-dot[data-v-4f48744e]{background:currentColor;border-radius:50%;width:5px;height:5px}.reach-chip[data-tone=ok][data-v-4f48744e]{color:var(--tone-success-dot);background:color-mix(in srgb, var(--tone-success-dot) 10%, transparent)}.reach-chip[data-tone=info][data-v-4f48744e]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 10%, transparent)}.reach-chip[data-tone=warn][data-v-4f48744e]{color:var(--tone-warning-dot);background:color-mix(in srgb, var(--tone-warning-dot) 13%, transparent)}@media (width<=1023.98px){.composer-status-chip[data-v-4f48744e]{flex-wrap:wrap;row-gap:2px;width:auto;font-size:11.5px;line-height:1.45}.chip-hint[data-v-4f48744e]{flex:100%;margin-left:0;padding-left:0}.reach-chip[data-v-4f48744e]{font-size:11.5px}}.composer[data-v-d44fcf6a]{background:var(--paper-raised);border-top:1px solid var(--line);padding:10px 16px 12px;position:relative;overflow:hidden}.composer-box[data-v-d44fcf6a]{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);max-width:900px;box-shadow:inset 0 1px 0 #ffffff4d, var(--bubble-shadow);transition:border-color var(--transition-slow), box-shadow var(--transition-slow);margin:0 auto;padding:8px 12px;position:relative}.composer-box[data-v-d44fcf6a]:focus-within{border-color:var(--ink-fainter);box-shadow:inset 0 0 0 .5px color-mix(in srgb, var(--ink) 18%, transparent),0 6px 22px #0c0a090d}.composer-block-hint[data-v-d44fcf6a]{color:var(--tone-warning-dot);align-items:center;gap:6px;margin:0 0 4px 2px;font-size:11.5px;display:flex}.composer-input[data-v-d44fcf6a]{width:100%;min-height:26px;max-height:160px;font-family:var(--font-body);color:var(--ink);resize:none;background:0 0;border:0;outline:none;padding:3px 2px;font-size:13.5px;line-height:1.5;display:block;overflow-y:auto}.composer-input[data-v-d44fcf6a]::placeholder{color:var(--ink-faint)}@media (width<=1023.98px){.composer[data-v-d44fcf6a]{padding:8px 10px calc(10px + env(safe-area-inset-bottom))}.composer-box[data-v-d44fcf6a]{padding:8px 10px}.composer-input[data-v-d44fcf6a]{min-height:42px;max-height:30dvh;font-size:16px}}.drawer-resizer[data-v-5010158a]{z-index:8;position:absolute;inset:0 auto 0 0}.head[data-v-5010158a]{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:8px;display:flex}.dot[data-v-5010158a]{border-radius:50%;width:9px;height:9px}.state-text[data-v-5010158a]{font-family:var(--font-mono);font-size:12px}.role-chip[data-v-5010158a]{letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;padding:0 7px;font-size:9.5px;line-height:16px}.queue-meta[data-v-5010158a]{color:var(--ink-faint);flex:auto;font-size:11px}.current-task[data-v-5010158a]{color:var(--tone-info-dot);border-bottom:1px dashed var(--divider-hair);padding:6px 0;font-size:12px}.agent-drawer[data-v-5010158a] .ant-drawer-body{flex-direction:column;padding-bottom:0;display:flex}.drawer-tabs[data-v-5010158a]{flex-direction:column;flex:auto;min-height:0;display:flex}.drawer-tabs[data-v-5010158a] .ant-tabs-content-holder{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.stream[data-v-5010158a]{font-size:12px}.empty[data-v-5010158a]{color:var(--ink-faint);padding:12px 4px;font-size:12px}.queue-group[data-v-5010158a]{margin-bottom:10px}.group-title[data-v-5010158a]{color:var(--ink-soft);padding:4px 0;font-size:12px;font-weight:600}.queue-task[data-v-5010158a]{border-radius:var(--radius-panel-sm);align-items:center;gap:6px;padding:4px 6px;display:flex}.queue-task[data-v-5010158a]:hover{background:var(--hover-tint)}.state-chip[data-v-5010158a]{letter-spacing:.03em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;padding:1px 6px;font-size:10px;line-height:15px}.qt-title[data-v-5010158a]{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:12px;overflow:hidden}.qt-meta[data-v-5010158a]{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px}.footer[data-v-5010158a]{background:var(--paper-raised);border-top:1px solid var(--line);border-radius:0 0 var(--radius-panel) var(--radius-panel);flex:none;margin:8px -24px 0;padding:8px 24px 12px}.member-ops[data-v-5010158a]{align-items:center;gap:8px;margin-bottom:8px;font-size:11px;display:flex}.op-label[data-v-5010158a]{color:var(--ink-faint)}.send-ops[data-v-5010158a]{align-items:center;gap:8px;margin-top:6px;display:flex}.drawer-resizer[data-v-9b700ecf]{z-index:8;position:absolute;inset:0 auto 0 0}.head[data-v-9b700ecf]{border-bottom:1px solid color-mix(in srgb, currentColor 10%, transparent);align-items:center;gap:8px;padding-bottom:8px;display:flex}.meta[data-v-9b700ecf]{font-size:12px;font-family:var(--font-mono);opacity:.6}.spacer[data-v-9b700ecf]{flex:auto}.guardrail-strip[data-v-9b700ecf]{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.guardrail-chip[data-v-9b700ecf]{font-family:var(--font-mono);color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-pill);align-items:center;gap:5px;padding:4px 8px;font-size:10.5px;display:inline-flex}.guardrail-chip.deadline[data-v-9b700ecf]{color:var(--tone-warning-dot);border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, var(--line))}.guardrail-chip.reason[data-v-9b700ecf]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 40%, var(--line))}.guardrail-chip.tree[data-v-9b700ecf]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 35%, var(--line))}.desc[data-v-9b700ecf]{margin-top:8px}.failure-reason[data-v-9b700ecf]{background:#ff6b6b17;border:1px solid #ff6b6b59;border-radius:8px;align-items:baseline;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.fr-label[data-v-9b700ecf]{color:#ff8080;flex:none;font-size:11px;font-weight:700}.fr-text[data-v-9b700ecf]{color:var(--tone-danger-dot,#ff8080);white-space:pre-wrap;word-break:break-all;font-size:12px;line-height:1.55}.route-reason[data-v-9b700ecf]{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);align-items:baseline;gap:8px;margin-top:6px;padding:8px 10px;font-size:12px;display:flex}.route-label[data-v-9b700ecf]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);flex:none;font-size:10px}.route-text[data-v-9b700ecf]{color:var(--ink-soft)}.tl-row[data-v-9b700ecf]{font-size:12px;font-family:var(--font-mono);align-items:center;gap:8px;padding:3px 0;display:flex}.tl-time[data-v-9b700ecf]{opacity:.45}.state[data-v-9b700ecf]{margin-inline-end:0;font-size:10px}.tl-progress[data-v-9b700ecf]{opacity:.7}.child-row[data-v-9b700ecf]{border-radius:var(--radius-chip);align-items:center;gap:6px;padding:4px 6px;display:flex}.child-row[data-v-9b700ecf]:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.child-title[data-v-9b700ecf]{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:12px;overflow:hidden}.child-meta[data-v-9b700ecf]{opacity:.5;font-size:11px}.empty[data-v-9b700ecf]{opacity:.4;padding:12px 4px;font-size:12px}.raw[data-v-9b700ecf]{max-height:300px;font-size:11px;overflow:auto}.drawer-resizer[data-v-a2a7fb79]{z-index:8;position:absolute;inset:0 auto 0 0}.dbg[data-v-a2a7fb79]{flex-direction:column;gap:8px;font-size:12px;display:flex}.row[data-v-a2a7fb79]{gap:8px;display:flex}.agent[data-v-a2a7fb79]{flex:55%}.method[data-v-a2a7fb79]{flex:45%}.params[data-v-a2a7fb79]{font-family:var(--font-mono)}.ops[data-v-a2a7fb79]{justify-content:flex-end}.output[data-v-a2a7fb79]{min-height:240px;font-size:11px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;background:color-mix(in srgb, currentColor 5%, transparent);border-radius:var(--radius-panel-sm);padding:10px;overflow:auto}.palette-mask[data-v-d71a557d]{z-index:1100;background:var(--scrim,#0c0a0966);justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette[data-v-d71a557d]{background:var(--glass-bg);width:560px;max-width:92vw;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-highlight), var(--shadow-float);flex-direction:column;display:flex;overflow:hidden}.palette-search[data-v-d71a557d]{color:var(--ink-faint);border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:13px 16px;display:flex}.ps-icon[data-v-d71a557d]{flex:none;font-size:15px}.palette-input[data-v-d71a557d]{min-width:0;font-family:var(--font-body);color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:14px}.palette-input[data-v-d71a557d]::placeholder{color:var(--ink-faint)}.palette-list[data-v-d71a557d]{max-height:320px;padding:6px;overflow-y:auto}.palette-item[data-v-d71a557d]{width:100%;font-family:var(--font-body);color:var(--ink-soft);text-align:left;cursor:pointer;border-radius:var(--radius-panel-sm);background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.palette-item.selected[data-v-d71a557d]{color:var(--ink);background:var(--paper-deep)}.pi-label[data-v-d71a557d]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.pi-hint[data-v-d71a557d]{font-family:var(--font-mono);color:var(--ink-faint);background:var(--paper-deep);border-radius:var(--radius-pill);flex:none;padding:2px 8px;font-size:10.5px}.palette-item.selected .pi-hint[data-v-d71a557d]{background:var(--paper-raised)}.palette-empty[data-v-d71a557d]{color:var(--ink-faint);text-align:center;padding:18px;font-size:13px}.palette-foot[data-v-d71a557d],.palette-frost[data-v-d71a557d]{color:var(--ink-faint);border-top:1px solid var(--line);background:var(--frost-bg);align-items:center;gap:8px;padding:9px 16px;font-size:11px;display:flex}.palette-foot kbd[data-v-d71a557d]{font-family:var(--font-body);color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:1px 5px;font-size:10px}.composer-pane[data-v-cd1713ee]{flex:none}.harness[data-v-14181595]{height:calc(100dvh - var(--app-header-h,56px) - var(--app-footer-h,46px) - 16px);border:1px solid var(--line);border-radius:var(--radius-shell);background:var(--paper-raised);min-height:0;box-shadow:var(--shadow-card);flex-direction:column;margin:0;display:flex;overflow:hidden}.main[data-v-14181595]{flex:auto;min-height:0;display:flex}@media (width<=1023.98px){.harness[data-v-14181595]{height:calc(100dvh - var(--app-header-h,56px) - var(--app-footer-h,46px) - 8px)}.main[data-v-14181595]{position:relative}.drawer-scrim[data-v-14181595]{z-index:25;background:color-mix(in srgb, var(--ink) 34%, transparent);position:absolute;inset:0}.pane-splitter[data-v-14181595]{display:none}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.harness-caps[data-v-db0f8897]{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.harness-cap[data-v-db0f8897]{border:1px solid var(--border,#2a3a4a);opacity:.75;border-radius:3px;padding:0 6px;font-size:11px;line-height:18px}.h-opt[data-v-db0f8897]{align-items:center;gap:7px;display:inline-flex}.h-opt-dot[data-v-db0f8897]{background:var(--tone-success-dot,#4a6b57);border-radius:50%;flex:none;width:6px;height:6px}.h-opt.off .h-opt-dot[data-v-db0f8897]{background:var(--tone-danger-dot,#c25a4e)}.h-opt.off[data-v-db0f8897]{opacity:.6}.h-install[data-v-db0f8897]{color:var(--accent);margin-left:8px;text-decoration:none}.h-install[data-v-db0f8897]:hover{text-decoration:underline}.harness-status[data-v-db0f8897]{color:var(--ink-faint);align-items:center;gap:6px;margin-top:6px;font-size:11px;display:flex}.harness-status.off[data-v-db0f8897]{color:var(--danger,#c25a4e)}.h-cell[data-v-6cbac698]{font-family:var(--font-mono);align-items:center;gap:6px;font-size:12px;display:inline-flex}.h-dot[data-v-6cbac698]{background:var(--ok,#4a6b57);border-radius:50%;width:6px;height:6px}.h-cell.off .h-dot[data-v-6cbac698]{background:var(--danger,#c25a4e)}.h-cell.off[data-v-6cbac698]{opacity:.75}.h-miss[data-v-6cbac698]{color:var(--tone-danger-dot);font-family:var(--font-body);font-size:11px}.tpl-name[data-v-6cbac698]{align-items:center;gap:6px;display:inline-flex}.vis-tag[data-v-6cbac698]{margin-right:8px}.owner[data-v-6cbac698]{color:var(--ink-soft);font-size:12px}.row-readonly[data-v-6cbac698]{color:var(--ink-faint);align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.inst[data-v-6cbac698]{align-items:center;gap:8px;padding:2px 0;font-size:12px;display:flex}.inst-ch[data-v-6cbac698],.inst-id[data-v-6cbac698]{font-family:var(--font-mono);opacity:.6}.empty[data-v-6cbac698]{opacity:.4;padding:6px 0;font-size:12px}@media (width<=900px){.tbl[data-v-6cbac698] .ant-table-content table{min-width:828px}.tbl[data-v-6cbac698] .ant-table colgroup col:first-child{width:44px}.tbl[data-v-6cbac698] .ant-table-tbody>tr>td:first-child,.tbl[data-v-6cbac698] .ant-table-thead>tr>th:first-child{width:44px;min-width:44px;padding-left:6px;padding-right:2px}.tbl[data-v-6cbac698] .ant-table-tbody>tr>td:nth-child(2),.tbl[data-v-6cbac698] .ant-table-thead>tr>th:nth-child(2){z-index:2;background:var(--paper-raised);min-width:132px;box-shadow:1px 0 0 var(--line);position:sticky;left:44px}.tbl[data-v-6cbac698] .ant-table-thead>tr>th:nth-child(2){z-index:3}}@media (width<=640px){.tpl-name[data-v-6cbac698]{min-width:120px}.tbl[data-v-6cbac698] .ant-table .ant-btn-sm{min-height:34px}}@media (width<=900px){.tbl[data-v-6cbac698] .ant-switch{position:relative}.tbl[data-v-6cbac698] .ant-switch:after{content:"";position:absolute;inset:-12px -6px}}.toolbar[data-v-593fe57d]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-note[data-v-593fe57d]{color:var(--ink-faint);align-items:center;gap:5px;font-size:11px;display:inline-flex}@media (width<=900px){.toolbar[data-v-593fe57d]{flex-wrap:wrap;gap:8px}.toolbar[data-v-593fe57d] .ant-segmented{flex:100%;min-width:0}.admin-note[data-v-593fe57d]{flex:100%;min-width:0;font-size:11.5px;line-height:1.5}}.page[data-v-6afd8de0]{padding:4px}.head[data-v-6afd8de0]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}h2[data-v-6afd8de0]{margin:0 0 4px}.sub[data-v-6afd8de0]{opacity:.55;margin:0;font-size:12px}@media (width<=900px){.head[data-v-6afd8de0]{flex-direction:column;align-items:stretch;gap:12px}.head>div[data-v-6afd8de0]{min-width:0}.head h2[data-v-6afd8de0]{font-size:21px;line-height:1.25}.head[data-v-6afd8de0] .ant-space{flex-direction:column;align-items:stretch;gap:8px;width:100%;display:flex}.head[data-v-6afd8de0] .ant-space-item{width:100%}.head[data-v-6afd8de0] .ant-btn{width:100%;min-height:40px}}@media (width<=640px){.page[data-v-6afd8de0]{padding:0}.head h2[data-v-6afd8de0]{font-size:19px}.sub[data-v-6afd8de0]{font-size:11.5px;line-height:1.5}}
|