agentworkshop 0.7.60 → 0.7.61
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{KXQppTXc.js → BTXdYngG.js} +1 -1
- package/.output/public/_nuxt/{Ce5SiMQR2.js → BXbKTAwC2.js} +1 -1
- package/.output/public/_nuxt/B_6yBa_Z.js +1 -0
- package/.output/public/_nuxt/B_ic601Y.js +1 -0
- package/.output/public/_nuxt/{DhSlJyZD2.js → BegV7-FE2.js} +1 -1
- package/.output/public/_nuxt/{D9sgxxsM2.js → BrRXGr472.js} +1 -1
- package/.output/public/_nuxt/{BeNdseTX.js → BtBgrPNT.js} +1 -1
- package/.output/public/_nuxt/{Cyd68Xbv2.js → C5MPzgon2.js} +1 -1
- package/.output/public/_nuxt/{DBdwjOGB2.js → CI5sliIF2.js} +1 -1
- package/.output/public/_nuxt/CI8awYVQ2.js +1 -0
- package/.output/public/_nuxt/{Cfp00Rdo.js → CK2ts9sD.js} +1 -1
- package/.output/public/_nuxt/{BjUpWKS6.js → CPZKwmLQ.js} +1 -1
- package/.output/public/_nuxt/{CjeMxUv8.js → CVUMEGa1.js} +1 -1
- package/.output/public/_nuxt/{p2sDc0tO2.js → CcLFZjCI2.js} +1 -1
- package/.output/public/_nuxt/{C4AICl3l.js → CeEzUIvN.js} +4 -4
- package/.output/public/_nuxt/{C93LpBMF.js → CfIGBe_4.js} +3 -3
- package/.output/public/_nuxt/{DTcsb0fG.js → Ci5kuU1q.js} +1 -1
- package/.output/public/_nuxt/CiyTTgqr.js +106 -0
- package/.output/public/_nuxt/{CgbP5yJk2.js → CkYk8bj02.js} +7 -7
- package/.output/public/_nuxt/Cmiz_VOb2.js +47 -0
- package/.output/public/_nuxt/Cnf1PFhB2.js +1 -0
- package/.output/public/_nuxt/CoTm7jd3.js +28 -0
- package/.output/public/_nuxt/{C0sNwDTK2.js → CsN8RHJ02.js} +1 -1
- package/.output/public/_nuxt/D-jg-SoR.js +1 -0
- package/.output/public/_nuxt/{CEHT9inW.js → D-z6N1Cz.js} +1 -1
- package/.output/public/_nuxt/D3gfSKKi2.js +1 -0
- package/.output/public/_nuxt/D4elH6Bo2.js +1 -0
- package/.output/public/_nuxt/{C5OSTzBh.js → D4tAdwYm.js} +1 -1
- package/.output/public/_nuxt/{BlEJRYAn2.js → DC7WzYCf2.js} +1 -1
- package/.output/public/_nuxt/{VeOVO2sE2.js → DE-qkHRd2.js} +1 -1
- package/.output/public/_nuxt/DE2kUGPK.js +1 -0
- package/.output/public/_nuxt/DI4sdLmu2.js +1 -0
- package/.output/public/_nuxt/DKHA3XxF.js +2 -0
- package/.output/public/_nuxt/{zVupTo2z2.js → DL6fliAT.js} +2 -2
- package/.output/public/_nuxt/{CMDAjShv2.js → DP6tsk912.js} +1 -1
- package/.output/public/_nuxt/DP_e7Vwv.js +24 -0
- package/.output/public/_nuxt/{C8XVZGSZ.js → DR83EvmX.js} +1 -1
- package/.output/public/_nuxt/{BtXwFpv42.js → DSWuWYx_2.js} +1 -1
- package/.output/public/_nuxt/DSdxfFX_.js +1 -0
- package/.output/public/_nuxt/DVS06wUy2.js +13 -0
- package/.output/public/_nuxt/DXlAfhEi.js +3 -0
- package/.output/public/_nuxt/Dc5NeCDq.js +1 -0
- package/.output/public/_nuxt/{B_JLVF30.js → DiHL9ehB.js} +1 -1
- package/.output/public/_nuxt/{Bdq2LNSO.js → DjtDexGg.js} +1 -1
- package/.output/public/_nuxt/DnunMTRD2.js +1 -0
- package/.output/public/_nuxt/{KXvRkBgg.js → Dok0B4Ol.js} +2 -2
- package/.output/public/_nuxt/{BFBysc2M2.js → DqT2_Jtw2.js} +1 -1
- package/.output/public/_nuxt/{B_BYwIf22.js → DtMlAxCm2.js} +1 -1
- package/.output/public/_nuxt/{BplhglEM.js → DwzJpr7P.js} +1 -1
- package/.output/public/_nuxt/J94L7hHq2.js +1 -0
- package/.output/public/_nuxt/LQBLwrYS2.js +1 -0
- package/.output/public/_nuxt/QSY9fE482.js +1 -0
- package/.output/public/_nuxt/{iCvdSYYN2.js → Qa9rS9oK2.js} +2 -2
- package/.output/public/_nuxt/{Cyuxcv5s2.js → R3gBFghJ2.js} +1 -1
- package/.output/public/_nuxt/ZxBwmbs9.js +1 -0
- package/.output/public/_nuxt/{BGFhOMVM.js → _mD4IkJj.js} +2 -2
- package/.output/public/_nuxt/analysis.DfMg76el.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/eba8574d-1991-47df-944c-18608bb58181.json +1 -0
- package/.output/public/_nuxt/{CZmMgjIK.js → c_nqArmG.js} +1 -1
- package/.output/public/_nuxt/h8ddxY892.js +1 -0
- package/.output/public/_nuxt/i3KBHle7.js +1 -0
- package/.output/public/_nuxt/jmKfTQMN.js +13 -0
- package/.output/public/_nuxt/{59a6cSgj.js → taHLOXkS.js} +1 -1
- package/.output/public/_nuxt/{EQijmkCh2.js → uYP6z4G72.js} +1 -1
- package/.output/public/_nuxt/{D0vmf1z9.js → yuIP6K9s.js} +1 -1
- package/.output/public/_nuxt/{Ddc_Pn7D.js → zWg-9WN6.js} +4 -4
- package/.output/public/_nuxt/zrgcKVTq.js +2 -0
- package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +1158 -1111
- package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
- package/.output/server/chunks/build/{AuthGate-CZYkvPrg.mjs → AuthGate-BK2RqkbD.mjs} +5 -5
- package/.output/server/chunks/build/{AuthGate-CZYkvPrg.mjs.map → AuthGate-BK2RqkbD.mjs.map} +1 -1
- package/.output/server/chunks/build/{FormItemContext-DcWIIAaK.mjs → FormItemContext-BqtgOBDe.mjs} +1 -1
- package/.output/server/chunks/build/{FormItemContext-DcWIIAaK.mjs.map → FormItemContext-BqtgOBDe.mjs.map} +1 -1
- package/.output/server/chunks/build/{OmpTerminalPanel-CtFJ6Kc8.mjs → OmpTerminalPanel-Bun6rpAk.mjs} +4 -4
- package/.output/server/chunks/build/{OmpTerminalPanel-CtFJ6Kc8.mjs.map → OmpTerminalPanel-Bun6rpAk.mjs.map} +1 -1
- package/.output/server/chunks/build/{PluginSlot-BT7kYQgK.mjs → PluginSlot-Do6dX0RE.mjs} +1 -1
- package/.output/server/chunks/build/{PluginSlot-BT7kYQgK.mjs.map → PluginSlot-Do6dX0RE.mjs.map} +1 -1
- package/.output/server/chunks/build/{_wsId_-DOEw9jgZ.mjs → _wsId_-Dp3ACbQ5.mjs} +19 -19
- package/.output/server/chunks/build/{_wsId_-DOEw9jgZ.mjs.map → _wsId_-Dp3ACbQ5.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents-C36wR56A.mjs → agents-BfIoGr_p.mjs} +18 -18
- package/.output/server/chunks/build/{agents-C36wR56A.mjs.map → agents-BfIoGr_p.mjs.map} +1 -1
- package/.output/server/chunks/build/{aml-CBGndvHT.mjs → aml-B5zKrvB3.mjs} +7 -7
- package/.output/server/chunks/build/{aml-CBGndvHT.mjs.map → aml-B5zKrvB3.mjs.map} +1 -1
- package/.output/server/chunks/build/analysis-MVEnlO7A.mjs +531 -0
- package/.output/server/chunks/build/analysis-MVEnlO7A.mjs.map +1 -0
- package/.output/server/chunks/build/{card-Db7OB49d.mjs → card-IyQjdGXA.mjs} +3 -3
- package/.output/server/chunks/build/{card-Db7OB49d.mjs.map → card-IyQjdGXA.mjs.map} +1 -1
- package/.output/server/chunks/build/{channel-templates-BixUrDmU.mjs → channel-templates-Bd8bgBCh.mjs} +11 -11
- package/.output/server/chunks/build/{channel-templates-BixUrDmU.mjs.map → channel-templates-Bd8bgBCh.mjs.map} +1 -1
- package/.output/server/chunks/build/{checkbox-CyF96D30.mjs → checkbox-NnjtOam0.mjs} +2 -2
- package/.output/server/chunks/build/{checkbox-CyF96D30.mjs.map → checkbox-NnjtOam0.mjs.map} +1 -1
- package/.output/server/chunks/build/{daq-DLMLufDq.mjs → daq-mC3-5A0L.mjs} +1 -1
- package/.output/server/chunks/build/{daq-DLMLufDq.mjs.map → daq-mC3-5A0L.mjs.map} +1 -1
- package/.output/server/chunks/build/{default-C7Qmdyz_.mjs → default-flcNWlNg.mjs} +12 -12
- package/.output/server/chunks/build/{default-C7Qmdyz_.mjs.map → default-flcNWlNg.mjs.map} +1 -1
- package/.output/server/chunks/build/{descriptions-1bH81YsZ.mjs → descriptions-DuAefuzp.mjs} +1 -1
- package/.output/server/chunks/build/{descriptions-1bH81YsZ.mjs.map → descriptions-DuAefuzp.mjs.map} +1 -1
- package/.output/server/chunks/build/{drawer-C7shdEHy.mjs → drawer-DEIB1_X6.mjs} +1 -1
- package/.output/server/chunks/build/{drawer-C7shdEHy.mjs.map → drawer-DEIB1_X6.mjs.map} +1 -1
- package/.output/server/chunks/build/{dropdown-BiwcuXDi.mjs → dropdown-BuD1pxH2.mjs} +5 -5
- package/.output/server/chunks/build/{dropdown-BiwcuXDi.mjs.map → dropdown-BuD1pxH2.mjs.map} +1 -1
- package/.output/server/chunks/build/{dropdown-BhLSIp5A.mjs → dropdown-w7qhyN2D.mjs} +2 -2
- package/.output/server/chunks/build/{dropdown-BhLSIp5A.mjs.map → dropdown-w7qhyN2D.mjs.map} +1 -1
- package/.output/server/chunks/build/es-DfgEl5n-.mjs +42 -0
- package/.output/server/chunks/build/es-DfgEl5n-.mjs.map +1 -0
- package/.output/server/chunks/build/{form-nE8C0G8B.mjs → form-CMLL_-Xx.mjs} +6 -6
- package/.output/server/chunks/build/{form-nE8C0G8B.mjs.map → form-CMLL_-Xx.mjs.map} +1 -1
- package/.output/server/chunks/build/{input-DwF72eVI.mjs → input-DZcioTwL.mjs} +3 -3
- package/.output/server/chunks/build/{input-DwF72eVI.mjs.map → input-DZcioTwL.mjs.map} +1 -1
- package/.output/server/chunks/build/{input-number-TSq6ltkz.mjs → input-number-BRnbiKLd.mjs} +5 -5
- package/.output/server/chunks/build/{input-number-TSq6ltkz.mjs.map → input-number-BRnbiKLd.mjs.map} +1 -1
- package/.output/server/chunks/build/{logs-hOEVuxqm.mjs → logs-BYop3JfX.mjs} +2 -2
- package/.output/server/chunks/build/{logs-hOEVuxqm.mjs.map → logs-BYop3JfX.mjs.map} +1 -1
- package/.output/server/chunks/build/{menu-Cy5Nrecn.mjs → menu-DXfhc0qN.mjs} +3 -3
- package/.output/server/chunks/build/{menu-Cy5Nrecn.mjs.map → menu-DXfhc0qN.mjs.map} +1 -1
- package/.output/server/chunks/build/{monitor-CfVoiavp.mjs → monitor-BjBGkUm2.mjs} +19 -19
- package/.output/server/chunks/build/{monitor-CfVoiavp.mjs.map → monitor-BjBGkUm2.mjs.map} +1 -1
- package/.output/server/chunks/build/{permissions-XPtQJSaO.mjs → permissions-u5SZL8Fe.mjs} +14 -14
- package/.output/server/chunks/build/{permissions-XPtQJSaO.mjs.map → permissions-u5SZL8Fe.mjs.map} +1 -1
- package/.output/server/chunks/build/{plugins-DjBSG9pV.mjs → plugins-Cas6KOF-.mjs} +5 -5
- package/.output/server/chunks/build/{plugins-DjBSG9pV.mjs.map → plugins-Cas6KOF-.mjs.map} +1 -1
- package/.output/server/chunks/build/{popconfirm-DKeEbaGd.mjs → popconfirm-BWxt-53K.mjs} +2 -2
- package/.output/server/chunks/build/{popconfirm-DKeEbaGd.mjs.map → popconfirm-BWxt-53K.mjs.map} +1 -1
- package/.output/server/chunks/build/{schedules-PcDLCUWN.mjs → schedules-Ct68Jrvw.mjs} +19 -19
- package/.output/server/chunks/build/{schedules-PcDLCUWN.mjs.map → schedules-Ct68Jrvw.mjs.map} +1 -1
- package/.output/server/chunks/build/{segmented-BdWCdZUM.mjs → segmented-DN62bOFu.mjs} +2 -2
- package/.output/server/chunks/build/{segmented-BdWCdZUM.mjs.map → segmented-DN62bOFu.mjs.map} +1 -1
- package/.output/server/chunks/build/{select-C5yighj8.mjs → select-DQv1DXcW.mjs} +4 -4
- package/.output/server/chunks/build/{select-C5yighj8.mjs.map → select-DQv1DXcW.mjs.map} +1 -1
- package/.output/server/chunks/build/{settings-90zT_h9w.mjs → settings-CQzR1YXR.mjs} +13 -13
- package/.output/server/chunks/build/{settings-90zT_h9w.mjs.map → settings-CQzR1YXR.mjs.map} +1 -1
- package/.output/server/chunks/build/{space-BCffbXIG.mjs → space-6FfG3llN.mjs} +3 -3
- package/.output/server/chunks/build/{space-BCffbXIG.mjs.map → space-6FfG3llN.mjs.map} +1 -1
- package/.output/server/chunks/build/{switch-OG0SM_Px.mjs → switch-CfsCVFQP.mjs} +2 -2
- package/.output/server/chunks/build/{switch-OG0SM_Px.mjs.map → switch-CfsCVFQP.mjs.map} +1 -1
- package/.output/server/chunks/build/{table-UpVzu50c.mjs → table-HOjbB5YY.mjs} +9 -9
- package/.output/server/chunks/build/{table-UpVzu50c.mjs.map → table-HOjbB5YY.mjs.map} +1 -1
- package/.output/server/chunks/build/{tabs-CWwoL33v.mjs → tabs-CC26Rbcw.mjs} +4 -4
- package/.output/server/chunks/build/{tabs-CWwoL33v.mjs.map → tabs-CC26Rbcw.mjs.map} +1 -1
- package/.output/server/chunks/build/{tag-CS7mwrfG.mjs → tag-BtOMjpDx.mjs} +4 -4
- package/.output/server/chunks/build/{tag-CS7mwrfG.mjs.map → tag-BtOMjpDx.mjs.map} +1 -1
- package/.output/server/chunks/build/{teams-BIAFvRw1.mjs → teams-Re0wY2SQ.mjs} +19 -19
- package/.output/server/chunks/build/{teams-BIAFvRw1.mjs.map → teams-Re0wY2SQ.mjs.map} +1 -1
- package/.output/server/chunks/build/{tokens-CLpdrzQ7.mjs → tokens-DLFIUvXE.mjs} +19 -19
- package/.output/server/chunks/build/{tokens-CLpdrzQ7.mjs.map → tokens-DLFIUvXE.mjs.map} +1 -1
- package/.output/server/chunks/build/{tooltip-CJlH_8ZK.mjs → tooltip-BSDwL_LM.mjs} +4 -4
- package/.output/server/chunks/build/{tooltip-CJlH_8ZK.mjs.map → tooltip-BSDwL_LM.mjs.map} +1 -1
- package/.output/server/chunks/build/{useAgentTemplateActions-6VyAHgu5.mjs → useAgentTemplateActions-CjBwCb3u.mjs} +1 -1
- package/.output/server/chunks/build/{useAgentTemplateActions-6VyAHgu5.mjs.map → useAgentTemplateActions-CjBwCb3u.mjs.map} +1 -1
- package/.output/server/chunks/build/{useAgentTemplateForm-DWa-ezNq.mjs → useAgentTemplateForm-BX9_xqj8.mjs} +1 -1
- package/.output/server/chunks/build/{useAgentTemplateForm-DWa-ezNq.mjs.map → useAgentTemplateForm-BX9_xqj8.mjs.map} +1 -1
- package/.output/server/chunks/build/{useAmlEntities-Co2fgjzh.mjs → useAmlEntities-BrcTqHwa.mjs} +2 -2
- package/.output/server/chunks/build/{useAmlEntities-Co2fgjzh.mjs.map → useAmlEntities-BrcTqHwa.mjs.map} +1 -1
- package/.output/server/chunks/build/{useAmlEnv-JTiWPrzH.mjs → useAmlEnv-jiGYK790.mjs} +1 -1
- package/.output/server/chunks/build/{useAmlEnv-JTiWPrzH.mjs.map → useAmlEnv-jiGYK790.mjs.map} +1 -1
- package/.output/server/chunks/build/{useAmlJobs-By4pjOzc.mjs → useAmlJobs-CVZ1btzg.mjs} +1 -1
- package/.output/server/chunks/build/{useAmlJobs-By4pjOzc.mjs.map → useAmlJobs-CVZ1btzg.mjs.map} +1 -1
- package/.output/server/chunks/build/{useAmlModels-B1_5vjMA.mjs → useAmlModels-DJkQzcCU.mjs} +1 -1
- package/.output/server/chunks/build/{useAmlModels-B1_5vjMA.mjs.map → useAmlModels-DJkQzcCU.mjs.map} +1 -1
- package/.output/server/chunks/build/{useAmlNotes-5uwvCb3h.mjs → useAmlNotes-DKnx9a8x.mjs} +1 -1
- package/.output/server/chunks/build/{useAmlNotes-5uwvCb3h.mjs.map → useAmlNotes-DKnx9a8x.mjs.map} +1 -1
- package/.output/server/chunks/build/{useAmlPredict-lxUv7lAO.mjs → useAmlPredict-Bp4ehwKw.mjs} +1 -1
- package/.output/server/chunks/build/{useAmlPredict-lxUv7lAO.mjs.map → useAmlPredict-Bp4ehwKw.mjs.map} +1 -1
- package/.output/server/chunks/build/{useLogsManual-BLfiSU3u.mjs → useLogsManual-CElmZuJh.mjs} +1 -1
- package/.output/server/chunks/build/{useLogsManual-BLfiSU3u.mjs.map → useLogsManual-CElmZuJh.mjs.map} +1 -1
- package/.output/server/chunks/build/{useMonitorData-BZ6Z-Sy8.mjs → useMonitorData-DcIfMEiz.mjs} +1 -1
- package/.output/server/chunks/build/{useMonitorData-BZ6Z-Sy8.mjs.map → useMonitorData-DcIfMEiz.mjs.map} +1 -1
- package/.output/server/chunks/build/{useTeamActions-ahht5J8Y.mjs → useTeamActions-C3_O_AIU.mjs} +1 -1
- package/.output/server/chunks/build/{useTeamActions-ahht5J8Y.mjs.map → useTeamActions-C3_O_AIU.mjs.map} +1 -1
- package/.output/server/chunks/build/{useTeamAddMemberDialog-DvXxsVy0.mjs → useTeamAddMemberDialog-DWAoZCKd.mjs} +1 -1
- package/.output/server/chunks/build/{useTeamAddMemberDialog-DvXxsVy0.mjs.map → useTeamAddMemberDialog-DWAoZCKd.mjs.map} +1 -1
- package/.output/server/chunks/build/{useTeamCreateDialog-A_k-XX5B.mjs → useTeamCreateDialog-911mIPWd.mjs} +1 -1
- package/.output/server/chunks/build/{useTeamCreateDialog-A_k-XX5B.mjs.map → useTeamCreateDialog-911mIPWd.mjs.map} +1 -1
- package/.output/server/chunks/build/{useTeamDeployDialog-CfAFjIr_.mjs → useTeamDeployDialog-D0STROoQ.mjs} +1 -1
- package/.output/server/chunks/build/{useTeamDeployDialog-CfAFjIr_.mjs.map → useTeamDeployDialog-D0STROoQ.mjs.map} +1 -1
- package/.output/server/chunks/build/{useTeamPluginDialog-Djmkk1Nl.mjs → useTeamPluginDialog-Df6-e2OW.mjs} +1 -1
- package/.output/server/chunks/build/{useTeamPluginDialog-Djmkk1Nl.mjs.map → useTeamPluginDialog-Df6-e2OW.mjs.map} +1 -1
- package/.output/server/chunks/build/{useTokenCreate-CkWoxSI-.mjs → useTokenCreate-DOojAhM5.mjs} +1 -1
- package/.output/server/chunks/build/{useTokenCreate-CkWoxSI-.mjs.map → useTokenCreate-DOojAhM5.mjs.map} +1 -1
- package/.output/server/chunks/build/{useTokenRename-BohjnGT0.mjs → useTokenRename-CMA5dLHx.mjs} +1 -1
- package/.output/server/chunks/build/{useTokenRename-BohjnGT0.mjs.map → useTokenRename-CMA5dLHx.mjs.map} +1 -1
- package/.output/server/chunks/build/{useTokenReveal-BBN5iGz7.mjs → useTokenReveal-C19aCKzt.mjs} +1 -1
- package/.output/server/chunks/build/{useTokenReveal-BBN5iGz7.mjs.map → useTokenReveal-C19aCKzt.mjs.map} +1 -1
- package/.output/server/chunks/build/{useTokensList-BQX9WqfT.mjs → useTokensList-D0ZpLOhR.mjs} +1 -1
- package/.output/server/chunks/build/{useTokensList-BQX9WqfT.mjs.map → useTokensList-D0ZpLOhR.mjs.map} +1 -1
- package/.output/server/chunks/build/{useWorkbenchAuth-BTRlS2wZ.mjs → useWorkbenchAuth-CN5E3J5L.mjs} +1 -1
- package/.output/server/chunks/build/{useWorkbenchAuth-BTRlS2wZ.mjs.map → useWorkbenchAuth-CN5E3J5L.mjs.map} +1 -1
- package/.output/server/chunks/build/{useWorkbenchWorkspaces-C6ky7OJH.mjs → useWorkbenchWorkspaces-ChKByQSD.mjs} +1 -1
- package/.output/server/chunks/build/{useWorkbenchWorkspaces-C6ky7OJH.mjs.map → useWorkbenchWorkspaces-ChKByQSD.mjs.map} +1 -1
- package/.output/server/chunks/build/{users-BHOEW3Az.mjs → users-BW4jowK4.mjs} +15 -15
- package/.output/server/chunks/build/{users-BHOEW3Az.mjs.map → users-BW4jowK4.mjs.map} +1 -1
- package/.output/server/chunks/build/{workshop-DyJ1LXwu.mjs → workshop-Bx55czXL.mjs} +11 -11
- package/.output/server/chunks/build/{workshop-DyJ1LXwu.mjs.map → workshop-Bx55czXL.mjs.map} +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs +103 -0
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
- 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/lines/_id_.delete.mjs +1 -1
- 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_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs +6 -2
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/virtual/entry.mjs +533 -529
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/app/components/analysis/AnalysisEditModal.vue +192 -0
- package/app/components/analysis/AnalysisFilterCard.vue +159 -160
- package/app/components/analysis/AnalysisPageHead.vue +47 -47
- package/app/components/analysis/AnalysisTable.vue +322 -306
- package/app/pages/analysis/composables/useAnalysisFeed.ts +85 -85
- package/app/pages/analysis/index.vue +128 -92
- package/app/pages/analysis/types.ts +50 -44
- package/i18n/locales/en.ts +8 -0
- package/i18n/locales/zh-CN.ts +8 -0
- package/package.json +1 -1
- package/server/api/workshop/analysis/[id].delete.ts +30 -30
- package/server/api/workshop/analysis/[id].get.ts +25 -23
- package/server/api/workshop/analysis/[id].patch.ts +100 -0
- package/server/api/workshop/analysis/index.get.ts +39 -33
- package/server/services/workshop/agents/industrial/analysis-tools.ts +242 -242
- package/server/services/workshop/analysis/analysis.repo.ts +241 -189
- package/server/services/workshop/db/database/migrations.ts +10 -0
- package/server/services/workshop/db/database/open.ts +3 -1
- package/server/services/workshop/db/database/schema.ts +6 -2
- package/server/services/workshop/db/schema.sql +6 -2
- package/.output/public/_nuxt/5juo_WO2.js +0 -13
- package/.output/public/_nuxt/B-WTxXEK2.js +0 -1
- package/.output/public/_nuxt/B1BCga5h2.js +0 -13
- package/.output/public/_nuxt/B5lMtA7I2.js +0 -1
- package/.output/public/_nuxt/B6_fJd2X.js +0 -1
- package/.output/public/_nuxt/B7K5B04W2.js +0 -1
- package/.output/public/_nuxt/B7KyS_q2.js +0 -1
- package/.output/public/_nuxt/B8q3BGY5.js +0 -37
- package/.output/public/_nuxt/B9IK8kDl2.js +0 -1
- package/.output/public/_nuxt/BNd2NDxg2.js +0 -1
- package/.output/public/_nuxt/BP629NAi.js +0 -1
- package/.output/public/_nuxt/BVinTfuN.js +0 -1
- package/.output/public/_nuxt/BdE41Y_c.js +0 -28
- package/.output/public/_nuxt/Be_StT8b2.js +0 -1
- package/.output/public/_nuxt/BsYEYxWv.js +0 -24
- package/.output/public/_nuxt/BuNXYpib2.js +0 -1
- package/.output/public/_nuxt/CDaZC0_6.js +0 -3
- package/.output/public/_nuxt/CE43-V_L.js +0 -2
- package/.output/public/_nuxt/CWfBtswB.js +0 -70
- package/.output/public/_nuxt/CYtH1bv2.js +0 -1
- package/.output/public/_nuxt/ChPNKPw_.js +0 -1
- package/.output/public/_nuxt/CktUrk8z.js +0 -1
- package/.output/public/_nuxt/DMCoWgSb2.js +0 -1
- package/.output/public/_nuxt/Dg1iMuZ-.js +0 -1
- package/.output/public/_nuxt/DmwMkvoQ2.js +0 -1
- package/.output/public/_nuxt/LwITbamf2.js +0 -47
- package/.output/public/_nuxt/_jfzcYrl.js +0 -1
- package/.output/public/_nuxt/analysis.D2Pao1rm.css +0 -1
- package/.output/public/_nuxt/builds/meta/f78a1992-e424-494d-ac4b-aa18971ffc10.json +0 -1
- package/.output/server/chunks/build/analysis-tgzvOWmD.mjs +0 -332
- package/.output/server/chunks/build/analysis-tgzvOWmD.mjs.map +0 -1
|
@@ -1,189 +1,241 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 数据分析系统 · 分析报告台账(analysis_reports)。
|
|
3
|
-
*
|
|
4
|
-
* 定位:Agent Channel 分析产出的持久留痕 —— append-only,工具面只提供 save/query,
|
|
5
|
-
* 无更新与删除(删仅 REST admin 面)。产线/配方/时间/关键结论为一级字段;
|
|
6
|
-
* 归因(channel/actor)与产线上下文在保存时快照固化,产线改名或删除后历史仍可读。
|
|
7
|
-
*
|
|
8
|
-
* 头注释铁律同 aml.repo:全部参数绑定(无字符串拼 SQL;LIKE 的 % 也在参数侧)。
|
|
9
|
-
*/
|
|
10
|
-
import type { DatabaseSync, SQLInputValue } from 'node:sqlite'
|
|
11
|
-
|
|
12
|
-
export interface AnalysisReportRow {
|
|
13
|
-
id: string
|
|
14
|
-
lineId: string
|
|
15
|
-
lineName: string
|
|
16
|
-
title: string
|
|
17
|
-
category: string
|
|
18
|
-
/** 一句话关键结论(列表面展示) */
|
|
19
|
-
summary: string
|
|
20
|
-
/** 关键结论数组(结构化发现) */
|
|
21
|
-
conclusions: string[]
|
|
22
|
-
/** 完整分析正文(markdown) */
|
|
23
|
-
report: string
|
|
24
|
-
/** 支撑指标/数据 */
|
|
25
|
-
metrics: Record<string, unknown>
|
|
26
|
-
recipeId: string
|
|
27
|
-
recipeVersion: string
|
|
28
|
-
/** 分析的数据时间窗(ISO;空 = 未指明) */
|
|
29
|
-
windowFrom: string | null
|
|
30
|
-
windowTo: string | null
|
|
31
|
-
/** 证据来源说明(daq 窗口/mes 数据集/批次号等,人读) */
|
|
32
|
-
dataSources: string
|
|
33
|
-
/** 保存时的产线上下文快照(产品/批次/控制模式等) */
|
|
34
|
-
context: Record<string, unknown>
|
|
35
|
-
channelId: string
|
|
36
|
-
channelName: string
|
|
37
|
-
actor: string
|
|
38
|
-
actorName: string
|
|
39
|
-
createdAt: string
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
where.push(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
1
|
+
/**
|
|
2
|
+
* 数据分析系统 · 分析报告台账(analysis_reports)。
|
|
3
|
+
*
|
|
4
|
+
* 定位:Agent Channel 分析产出的持久留痕 —— append-only,工具面只提供 save/query,
|
|
5
|
+
* 无更新与删除(删仅 REST admin 面)。产线/配方/时间/关键结论为一级字段;
|
|
6
|
+
* 归因(channel/actor)与产线上下文在保存时快照固化,产线改名或删除后历史仍可读。
|
|
7
|
+
*
|
|
8
|
+
* 头注释铁律同 aml.repo:全部参数绑定(无字符串拼 SQL;LIKE 的 % 也在参数侧)。
|
|
9
|
+
*/
|
|
10
|
+
import type { DatabaseSync, SQLInputValue } from 'node:sqlite'
|
|
11
|
+
|
|
12
|
+
export interface AnalysisReportRow {
|
|
13
|
+
id: string
|
|
14
|
+
lineId: string
|
|
15
|
+
lineName: string
|
|
16
|
+
title: string
|
|
17
|
+
category: string
|
|
18
|
+
/** 一句话关键结论(列表面展示) */
|
|
19
|
+
summary: string
|
|
20
|
+
/** 关键结论数组(结构化发现) */
|
|
21
|
+
conclusions: string[]
|
|
22
|
+
/** 完整分析正文(markdown) */
|
|
23
|
+
report: string
|
|
24
|
+
/** 支撑指标/数据 */
|
|
25
|
+
metrics: Record<string, unknown>
|
|
26
|
+
recipeId: string
|
|
27
|
+
recipeVersion: string
|
|
28
|
+
/** 分析的数据时间窗(ISO;空 = 未指明) */
|
|
29
|
+
windowFrom: string | null
|
|
30
|
+
windowTo: string | null
|
|
31
|
+
/** 证据来源说明(daq 窗口/mes 数据集/批次号等,人读) */
|
|
32
|
+
dataSources: string
|
|
33
|
+
/** 保存时的产线上下文快照(产品/批次/控制模式等) */
|
|
34
|
+
context: Record<string, unknown>
|
|
35
|
+
channelId: string
|
|
36
|
+
channelName: string
|
|
37
|
+
actor: string
|
|
38
|
+
actorName: string
|
|
39
|
+
createdAt: string
|
|
40
|
+
/** v27 人工修订归因(未修订 = null/空) */
|
|
41
|
+
updatedAt: string | null
|
|
42
|
+
updatedBy: string
|
|
43
|
+
updatedByName: string
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface AnalysisReportInput {
|
|
47
|
+
id: string
|
|
48
|
+
lineId: string
|
|
49
|
+
lineName: string
|
|
50
|
+
title: string
|
|
51
|
+
category: string
|
|
52
|
+
summary: string
|
|
53
|
+
conclusions: string[]
|
|
54
|
+
report: string
|
|
55
|
+
metrics: Record<string, unknown>
|
|
56
|
+
recipeId: string
|
|
57
|
+
recipeVersion: string
|
|
58
|
+
windowFrom: string | null
|
|
59
|
+
windowTo: string | null
|
|
60
|
+
dataSources: string
|
|
61
|
+
context: Record<string, unknown>
|
|
62
|
+
channelId: string
|
|
63
|
+
channelName: string
|
|
64
|
+
actor: string
|
|
65
|
+
actorName: string
|
|
66
|
+
createdAt: string
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface AnalysisReportFilter {
|
|
70
|
+
/** 作用域限制(可见产线集合;空 = 不限) */
|
|
71
|
+
lineIds?: string[]
|
|
72
|
+
lineId?: string
|
|
73
|
+
recipeId?: string
|
|
74
|
+
category?: string
|
|
75
|
+
/** 关键词(title/summary LIKE) */
|
|
76
|
+
q?: string
|
|
77
|
+
/** created_at 下/上界(ISO) */
|
|
78
|
+
from?: string
|
|
79
|
+
to?: string
|
|
80
|
+
limit?: number
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const COLS = `id, line_id AS lineId, line_name AS lineName, title, category, summary,
|
|
84
|
+
conclusions_json AS conclusionsJson, report, metrics_json AS metricsJson,
|
|
85
|
+
recipe_id AS recipeId, recipe_version AS recipeVersion,
|
|
86
|
+
window_from AS windowFrom, window_to AS windowTo, data_sources AS dataSources,
|
|
87
|
+
context_json AS contextJson, channel_id AS channelId, channel_name AS channelName,
|
|
88
|
+
actor, actor_name AS actorName, created_at AS createdAt,
|
|
89
|
+
updated_at AS updatedAt, updated_by AS updatedBy, updated_by_name AS updatedByName`
|
|
90
|
+
|
|
91
|
+
function rowToReport(r: Record<string, unknown>): AnalysisReportRow {
|
|
92
|
+
const parseJson = (raw: unknown, dflt: unknown): unknown => {
|
|
93
|
+
try {
|
|
94
|
+
return JSON.parse(String(raw ?? '')) ?? dflt
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return dflt
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
...(r as unknown as Omit<AnalysisReportRow, 'conclusions' | 'metrics' | 'context' | 'conclusionsJson' | 'metricsJson' | 'contextJson'>),
|
|
102
|
+
conclusions: parseJson(r.conclusionsJson, []) as string[],
|
|
103
|
+
metrics: parseJson(r.metricsJson, {}) as Record<string, unknown>,
|
|
104
|
+
context: parseJson(r.contextJson, {}) as Record<string, unknown>,
|
|
105
|
+
} as AnalysisReportRow
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export function createAnalysisRepo(db: DatabaseSync) {
|
|
109
|
+
const insertStmt = db.prepare(
|
|
110
|
+
`INSERT INTO analysis_reports (id, line_id, line_name, title, category, summary,
|
|
111
|
+
conclusions_json, report, metrics_json, recipe_id, recipe_version,
|
|
112
|
+
window_from, window_to, data_sources, context_json,
|
|
113
|
+
channel_id, channel_name, actor, actor_name, created_at)
|
|
114
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
|
115
|
+
)
|
|
116
|
+
// v27 人工修订:读改写单条全量 UPDATE(patch 在调用方合并,语句一次 prepare)
|
|
117
|
+
const updateStmt = db.prepare(
|
|
118
|
+
`UPDATE analysis_reports SET title = ?, category = ?, summary = ?, conclusions_json = ?,
|
|
119
|
+
report = ?, metrics_json = ?, recipe_id = ?, recipe_version = ?,
|
|
120
|
+
window_from = ?, window_to = ?, data_sources = ?,
|
|
121
|
+
updated_at = ?, updated_by = ?, updated_by_name = ?
|
|
122
|
+
WHERE id = ?`,
|
|
123
|
+
)
|
|
124
|
+
const getStmt = db.prepare(`SELECT ${COLS} FROM analysis_reports WHERE id = ?`)
|
|
125
|
+
const removeStmt = db.prepare(`DELETE FROM analysis_reports WHERE id = ?`)
|
|
126
|
+
const countStmt = db.prepare('SELECT COUNT(*) AS c FROM analysis_reports')
|
|
127
|
+
|
|
128
|
+
return {
|
|
129
|
+
insert(row: AnalysisReportInput): void {
|
|
130
|
+
insertStmt.run(
|
|
131
|
+
row.id, row.lineId, row.lineName, row.title, row.category, row.summary,
|
|
132
|
+
JSON.stringify(row.conclusions ?? []), row.report ?? '', JSON.stringify(row.metrics ?? {}),
|
|
133
|
+
row.recipeId ?? '', row.recipeVersion ?? '',
|
|
134
|
+
row.windowFrom ?? null, row.windowTo ?? null, row.dataSources ?? '', JSON.stringify(row.context ?? {}),
|
|
135
|
+
row.channelId ?? '', row.channelName ?? '', row.actor ?? '', row.actorName ?? '', row.createdAt,
|
|
136
|
+
)
|
|
137
|
+
},
|
|
138
|
+
get(id: string): AnalysisReportRow | undefined {
|
|
139
|
+
const r = getStmt.get(id) as Record<string, unknown> | undefined
|
|
140
|
+
return r ? rowToReport(r) : undefined
|
|
141
|
+
},
|
|
142
|
+
list(filter: AnalysisReportFilter = {}): AnalysisReportRow[] {
|
|
143
|
+
const where: string[] = []
|
|
144
|
+
const args: SQLInputValue[] = []
|
|
145
|
+
if (filter.lineId) {
|
|
146
|
+
where.push('line_id = ?')
|
|
147
|
+
args.push(filter.lineId)
|
|
148
|
+
}
|
|
149
|
+
if (filter.lineIds && filter.lineIds.length > 0) {
|
|
150
|
+
where.push(`line_id IN (${filter.lineIds.map(() => '?').join(', ')})`)
|
|
151
|
+
args.push(...filter.lineIds)
|
|
152
|
+
}
|
|
153
|
+
if (filter.recipeId) {
|
|
154
|
+
where.push('recipe_id = ?')
|
|
155
|
+
args.push(filter.recipeId)
|
|
156
|
+
}
|
|
157
|
+
if (filter.category) {
|
|
158
|
+
where.push('category = ?')
|
|
159
|
+
args.push(filter.category)
|
|
160
|
+
}
|
|
161
|
+
if (filter.q) {
|
|
162
|
+
// 关键词三列 LIKE:标题 / 一句话结论 / 结论明细(JSON 数组文本,元素原串可命中)
|
|
163
|
+
where.push('(title LIKE ? OR summary LIKE ? OR conclusions_json LIKE ?)')
|
|
164
|
+
const like = `%${filter.q}%`
|
|
165
|
+
args.push(like, like, like)
|
|
166
|
+
}
|
|
167
|
+
if (filter.from) {
|
|
168
|
+
where.push('created_at >= ?')
|
|
169
|
+
args.push(filter.from)
|
|
170
|
+
}
|
|
171
|
+
if (filter.to) {
|
|
172
|
+
where.push('created_at <= ?')
|
|
173
|
+
args.push(filter.to)
|
|
174
|
+
}
|
|
175
|
+
const sql = `SELECT ${COLS} FROM analysis_reports ${where.length ? `WHERE ${where.join(' AND ')}` : ''}
|
|
176
|
+
ORDER BY created_at DESC LIMIT ?`
|
|
177
|
+
args.push(Math.min(500, Math.max(1, filter.limit ?? 100)))
|
|
178
|
+
return (db.prepare(sql).all(...args) as unknown as Record<string, unknown>[]).map(rowToReport)
|
|
179
|
+
},
|
|
180
|
+
remove(id: string): boolean {
|
|
181
|
+
return Number(removeStmt.run(id).changes) > 0
|
|
182
|
+
},
|
|
183
|
+
/**
|
|
184
|
+
* v27 人工修订:部分字段更新(patch 缺省 = 保留原值),固化修订归因。
|
|
185
|
+
* 编辑面属人类管理操作(Agent 面仍无改删);调用方负责权限校验与窗口归一。
|
|
186
|
+
*/
|
|
187
|
+
update(id: string, patch: {
|
|
188
|
+
title?: string
|
|
189
|
+
category?: string
|
|
190
|
+
summary?: string
|
|
191
|
+
conclusions?: string[]
|
|
192
|
+
report?: string
|
|
193
|
+
metrics?: Record<string, unknown>
|
|
194
|
+
recipeId?: string
|
|
195
|
+
recipeVersion?: string
|
|
196
|
+
windowFrom?: string | null
|
|
197
|
+
windowTo?: string | null
|
|
198
|
+
dataSources?: string
|
|
199
|
+
}, editor: { id: string, name: string }): AnalysisReportRow | undefined {
|
|
200
|
+
const cur = getStmt.get(id) as Record<string, unknown> | undefined
|
|
201
|
+
if (!cur) return undefined
|
|
202
|
+
const merged = rowToReport(cur)
|
|
203
|
+
updateStmt.run(
|
|
204
|
+
patch.title !== undefined ? patch.title : merged.title,
|
|
205
|
+
patch.category !== undefined ? patch.category : merged.category,
|
|
206
|
+
patch.summary !== undefined ? patch.summary : merged.summary,
|
|
207
|
+
JSON.stringify(patch.conclusions !== undefined ? patch.conclusions : merged.conclusions),
|
|
208
|
+
patch.report !== undefined ? patch.report : merged.report,
|
|
209
|
+
JSON.stringify(patch.metrics !== undefined ? patch.metrics : merged.metrics),
|
|
210
|
+
patch.recipeId !== undefined ? patch.recipeId : merged.recipeId,
|
|
211
|
+
patch.recipeVersion !== undefined ? patch.recipeVersion : merged.recipeVersion,
|
|
212
|
+
patch.windowFrom !== undefined ? patch.windowFrom : merged.windowFrom,
|
|
213
|
+
patch.windowTo !== undefined ? patch.windowTo : merged.windowTo,
|
|
214
|
+
patch.dataSources !== undefined ? patch.dataSources : merged.dataSources,
|
|
215
|
+
new Date().toISOString(),
|
|
216
|
+
editor.id,
|
|
217
|
+
editor.name,
|
|
218
|
+
id,
|
|
219
|
+
)
|
|
220
|
+
return this.get(id)
|
|
221
|
+
},
|
|
222
|
+
count(): number {
|
|
223
|
+
return Number((countStmt.get() as { c: number }).c)
|
|
224
|
+
},
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
export type AnalysisRepo = ReturnType<typeof createAnalysisRepo>
|
|
229
|
+
|
|
230
|
+
let singleton: AnalysisRepo | null = null
|
|
231
|
+
|
|
232
|
+
/** Nitro 插件启动时装配(plugins/workshop.ts) */
|
|
233
|
+
export function configureAnalysisRepo(db: DatabaseSync): void {
|
|
234
|
+
singleton = createAnalysisRepo(db)
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/** 运行期取用(未装配即抛 = 装配漏接线的响亮失败) */
|
|
238
|
+
export function getAnalysisRepo(): AnalysisRepo {
|
|
239
|
+
if (!singleton) throw new Error('analysis repo 未装配(configureAnalysisRepo 未调用)')
|
|
240
|
+
return singleton
|
|
241
|
+
}
|
|
@@ -418,3 +418,13 @@ export function migrateAmlChannelOptimizationColumns(db: DatabaseSync): void {
|
|
|
418
418
|
db.exec('CREATE INDEX IF NOT EXISTS idx_opt_explorations_channel ON optimization_explorations(channel_id, created_at DESC)')
|
|
419
419
|
// aml_training_plans 建表由 SCHEMA_SQL 的 CREATE TABLE IF NOT EXISTS 兜底(启动时全量幂等执行,新旧库同效)
|
|
420
420
|
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* v27:数据分析报告人工修订列(updated_at/updated_by/updated_by_name)。
|
|
424
|
+
* 既有库补列(新库由 SCHEMA_SQL 直建);无索引需求 —— 修订列只随行读,不作检索键。
|
|
425
|
+
*/
|
|
426
|
+
export function migrateAnalysisEditColumns(db: DatabaseSync): void {
|
|
427
|
+
migrateAddColumn(db, 'analysis_reports', 'updated_at', 'TEXT')
|
|
428
|
+
migrateAddColumn(db, 'analysis_reports', 'updated_by', 'TEXT NOT NULL DEFAULT \'\'')
|
|
429
|
+
migrateAddColumn(db, 'analysis_reports', 'updated_by_name', 'TEXT NOT NULL DEFAULT \'\'')
|
|
430
|
+
}
|
|
@@ -6,7 +6,7 @@ import type * as sqliteVec from 'sqlite-vec'
|
|
|
6
6
|
import { DatabaseSync } from 'node:sqlite'
|
|
7
7
|
import { SCHEMA_SQL } from './schema'
|
|
8
8
|
import { createRequire } from 'node:module'
|
|
9
|
-
import { migrateAddColumn, migrateAgentTeamExecutionLeaseColumns, migrateAgentTeamTaskGuardrailColumns, migrateAgentTeamTaskGuardrails, migrateAgentTeamTaskQueueColumns, migrateAmlChannelOptimizationColumns, migrateAmlModelIdentityColumns, migrateApprovalPayloadColumns, migrateDropOwnerFks, migrateGroupChatV17, migrateLegacySchema, migrateMissingForeignKeys, migrateAmlTwinProviderColumns } from './migrations'
|
|
9
|
+
import { migrateAddColumn, migrateAgentTeamExecutionLeaseColumns, migrateAgentTeamTaskGuardrailColumns, migrateAgentTeamTaskGuardrails, migrateAgentTeamTaskQueueColumns, migrateAmlChannelOptimizationColumns, migrateAmlModelIdentityColumns, migrateAnalysisEditColumns, migrateApprovalPayloadColumns, migrateDropOwnerFks, migrateGroupChatV17, migrateLegacySchema, migrateMissingForeignKeys, migrateAmlTwinProviderColumns } from './migrations'
|
|
10
10
|
import { seedDefaultWorkshopData } from './seed'
|
|
11
11
|
|
|
12
12
|
export const require = createRequire(import.meta.url)
|
|
@@ -68,6 +68,8 @@ export function initWorkshopDb(db: DatabaseSync): void {
|
|
|
68
68
|
migrateAmlChannelOptimizationColumns(db)
|
|
69
69
|
// 产线 Co-Pilot P2:审批历史结构化载荷列(payload_json/choice;既有库补列,新库 DDL 已含)
|
|
70
70
|
migrateApprovalPayloadColumns(db)
|
|
71
|
+
// v27:数据分析报告人工修订列(updated_*;既有库补列,新库 DDL 已含)
|
|
72
|
+
migrateAnalysisEditColumns(db)
|
|
71
73
|
seedDefaultWorkshopData(db)
|
|
72
74
|
}
|
|
73
75
|
|
|
@@ -750,8 +750,9 @@ CREATE INDEX IF NOT EXISTS idx_mes_fetch_jobs_agent ON mes_fetch_jobs(agent_id,
|
|
|
750
750
|
|
|
751
751
|
CREATE INDEX IF NOT EXISTS idx_hitl_requests_agent ON hitl_requests(agent_id, status);
|
|
752
752
|
|
|
753
|
-
-- v26: 数据分析系统 · 分析报告台账(Agent Channel 经 analysis_save 留痕;
|
|
753
|
+
-- v26: 数据分析系统 · 分析报告台账(Agent Channel 经 analysis_save 留痕;Agent 面无改删)
|
|
754
754
|
-- 归因与产线上下文在保存时快照固化(line_name/产品/批次),产线改名或删除后历史仍可读。
|
|
755
|
+
-- v27: 人工修订面 —— 人类用户(产线 operate/admin)可经 REST 编辑,updated_* 固化修订归因。
|
|
755
756
|
CREATE TABLE IF NOT EXISTS analysis_reports (
|
|
756
757
|
id TEXT PRIMARY KEY,
|
|
757
758
|
line_id TEXT NOT NULL DEFAULT '',
|
|
@@ -772,7 +773,10 @@ CREATE TABLE IF NOT EXISTS analysis_reports (
|
|
|
772
773
|
channel_name TEXT NOT NULL DEFAULT '',
|
|
773
774
|
actor TEXT NOT NULL DEFAULT '',
|
|
774
775
|
actor_name TEXT NOT NULL DEFAULT '',
|
|
775
|
-
created_at TEXT NOT NULL
|
|
776
|
+
created_at TEXT NOT NULL,
|
|
777
|
+
updated_at TEXT,
|
|
778
|
+
updated_by TEXT NOT NULL DEFAULT '',
|
|
779
|
+
updated_by_name TEXT NOT NULL DEFAULT ''
|
|
776
780
|
);
|
|
777
781
|
CREATE INDEX IF NOT EXISTS idx_analysis_reports_line ON analysis_reports(line_id, created_at DESC);
|
|
778
782
|
CREATE INDEX IF NOT EXISTS idx_analysis_reports_recipe ON analysis_reports(recipe_id);`
|
|
@@ -359,8 +359,9 @@ CREATE TABLE IF NOT EXISTS mes_fetch_jobs (
|
|
|
359
359
|
CREATE INDEX IF NOT EXISTS idx_mes_fetch_jobs_dataset ON mes_fetch_jobs(dataset_id);
|
|
360
360
|
CREATE INDEX IF NOT EXISTS idx_mes_fetch_jobs_agent ON mes_fetch_jobs(agent_id, created_at DESC);
|
|
361
361
|
|
|
362
|
-
-- v26: 数据分析系统 · 分析报告台账(Agent Channel 经 analysis_save 留痕;
|
|
362
|
+
-- v26: 数据分析系统 · 分析报告台账(Agent Channel 经 analysis_save 留痕;Agent 面无改删)
|
|
363
363
|
-- 归因与产线上下文在保存时快照固化(line_name/产品/批次),产线改名或删除后历史仍可读。
|
|
364
|
+
-- v27: 人工修订面 —— 人类用户(产线 operate/admin)可经 REST 编辑,updated_* 固化修订归因。
|
|
364
365
|
CREATE TABLE IF NOT EXISTS analysis_reports (
|
|
365
366
|
id TEXT PRIMARY KEY,
|
|
366
367
|
line_id TEXT NOT NULL DEFAULT '',
|
|
@@ -381,7 +382,10 @@ CREATE TABLE IF NOT EXISTS analysis_reports (
|
|
|
381
382
|
channel_name TEXT NOT NULL DEFAULT '',
|
|
382
383
|
actor TEXT NOT NULL DEFAULT '',
|
|
383
384
|
actor_name TEXT NOT NULL DEFAULT '',
|
|
384
|
-
created_at TEXT NOT NULL
|
|
385
|
+
created_at TEXT NOT NULL,
|
|
386
|
+
updated_at TEXT,
|
|
387
|
+
updated_by TEXT NOT NULL DEFAULT '',
|
|
388
|
+
updated_by_name TEXT NOT NULL DEFAULT ''
|
|
385
389
|
);
|
|
386
390
|
CREATE INDEX IF NOT EXISTS idx_analysis_reports_line ON analysis_reports(line_id, created_at DESC);
|
|
387
391
|
CREATE INDEX IF NOT EXISTS idx_analysis_reports_recipe ON analysis_reports(recipe_id);
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import{C as e,E as t,N as n,S as r,v as i}from"./CavpkQb0.js";import{C as a,D as o,H as s,P as c,R as l,S as u,b as d,d as f,et as p,i as m,rt as h,s as g,tt as _}from"./ByMj6e7s.js";import{t as v,u as y}from"./goF_oZHF.js";import{D as b,Mt as x,Tt as S,_ as C,bt as w,d as T,et as E,f as D,g as O,h as k,jt as A,lt as j,mt as M,n as ee,p as N,t as P,u as F,wt as te,xt as ne}from"./C2YYOgMe.js";import{C as re,E as I,T as L,d as R,t as z}from"./_jfzcYrl.js";import{I as B,K as ie,h as ae,v as V,w as oe,y as se}from"./BdE41Y_c.js";import{A as H,O as U,X as W,_ as ce,c as le,lt as ue,tt as de,y as fe}from"./CWfBtswB.js";function pe(){}var me=H&&1/re(new H([,-0]))[1]==1/0?function(e){return new H(e)}:pe,he=200;function ge(e,t,n){var r=-1,i=B,a=e.length,o=!0,s=[],c=s;if(n)o=!1,i=oe;else if(a>=he){var l=t?null:me(e);if(l)return re(l);o=!1,i=L,c=new I}else c=t?[]:s;outer:for(;++r<a;){var u=e[r],d=t?t(u):u;if(u=n||u!==0?u:0,o&&d===d){for(var f=c.length;f--;)if(c[f]===d)continue outer;t&&c.push(d),s.push(u)}else i(c,d,n)||(c!==s&&c.push(d),s.push(u))}return s}function G(e){return e&&e.length?ge(e):[]}var K={adjustX:1,adjustY:1},q=[0,0],_e={topLeft:{points:[`bl`,`tl`],overflow:K,offset:[0,-4],targetOffset:q},topCenter:{points:[`bc`,`tc`],overflow:K,offset:[0,-4],targetOffset:q},topRight:{points:[`br`,`tr`],overflow:K,offset:[0,-4],targetOffset:q},bottomLeft:{points:[`tl`,`bl`],overflow:K,offset:[0,4],targetOffset:q},bottomCenter:{points:[`tc`,`bc`],overflow:K,offset:[0,4],targetOffset:q},bottomRight:{points:[`tr`,`br`],overflow:K,offset:[0,4],targetOffset:q}},ve=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},ye=u({compatConfig:{MODE:3},props:{minOverlayWidthMatchTrigger:{type:Boolean,default:void 0},arrow:{type:Boolean,default:!1},prefixCls:P.string.def(`rc-dropdown`),transitionName:String,overlayClassName:P.string.def(``),openClassName:String,animation:P.any,align:P.object,overlayStyle:{type:Object,default:void 0},placement:P.string.def(`bottomLeft`),overlay:P.any,trigger:P.oneOfType([P.string,P.arrayOf(P.string)]).def(`hover`),alignPoint:{type:Boolean,default:void 0},showAction:P.array,hideAction:P.array,getPopupContainer:Function,visible:{type:Boolean,default:void 0},defaultVisible:{type:Boolean,default:!1},mouseEnterDelay:P.number.def(.15),mouseLeaveDelay:P.number.def(.1)},emits:[`visibleChange`,`overlayClick`],setup(e,t){let{slots:n,emit:r,expose:a}=t,o=i(!!e.visible);p(()=>e.visible,e=>{e!==void 0&&(o.value=e)});let s=i();a({triggerRef:s});let c=t=>{e.visible===void 0&&(o.value=!1),r(`overlayClick`,t)},l=t=>{e.visible===void 0&&(o.value=t),r(`visibleChange`,t)},u=()=>{let t=n.overlay?.call(n),r={prefixCls:`${e.prefixCls}-menu`,onClick:c};return d(m,{key:ne},[e.arrow&&d(`div`,{class:`${e.prefixCls}-arrow`},null),W(t,r,!1)])},h=f(()=>{let{minOverlayWidthMatchTrigger:t=!e.alignPoint}=e;return t}),g=()=>{let t=n.default?.call(n);return o.value&&t?W(t[0],{class:e.openClassName||`${e.prefixCls}-open`},!1):t},_=f(()=>!e.hideAction&&e.trigger.indexOf(`contextmenu`)!==-1?[`click`]:e.hideAction);return()=>{let{prefixCls:t,arrow:n,showAction:r,overlayStyle:i,trigger:a,placement:c,align:f,getPopupContainer:p,transitionName:m,animation:v,overlayClassName:y}=e,b=ve(e,[`prefixCls`,`arrow`,`showAction`,`overlayStyle`,`trigger`,`placement`,`align`,`getPopupContainer`,`transitionName`,`animation`,`overlayClassName`]);return d(R,x(x({},b),{},{prefixCls:t,ref:s,popupClassName:S(y,{[`${t}-show-arrow`]:n}),popupStyle:i,builtinPlacements:_e,action:a,showAction:r,hideAction:_.value||[],popupPlacement:c,popupAlign:f,popupTransitionName:m,popupAnimation:v,popupVisible:o.value,stretch:h.value?`minWidth`:``,onPopupVisibleChange:l,getPopupContainer:p}),{popup:u,default:g})}}}),be={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z`}}]},name:`ellipsis`,theme:`outlined`};function xe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Se(e,t,n[t])})}return e}function Se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ce=function(e,t){var n=xe({},e,t.attrs);return d(ce,xe({},n,{icon:be}),null)};Ce.displayName=`EllipsisOutlined`,Ce.inheritAttrs=!1;var we=Symbol(`OverrideContextKey`),Te=()=>o(we,void 0),Ee=e=>{let{prefixCls:t,mode:n,selectable:r,validator:i,onClick:a,expandIcon:o}=Te()||{};s(we,{prefixCls:f(()=>e.prefixCls?.value??t?.value),mode:f(()=>e.mode?.value??n?.value),selectable:f(()=>e.selectable?.value??r?.value),validator:e.validator??i,onClick:e.onClick??a,expandIcon:e.expandIcon??o?.value})};function De(e,t,n,r){let i=n?n.call(r,e,t):void 0;if(i!==void 0)return!!i;if(e===t)return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;let s=Object.prototype.hasOwnProperty.bind(t);for(let o=0;o<a.length;o++){let c=a[o];if(!s(c))return!1;let l=e[c],u=t[c];if(i=n?n.call(r,l,u,c):void 0,i===!1||i===void 0&&l!==u)return!1}return!0}function J(t,n){return De(e(t),e(n))}var Oe=Symbol(`menuContextKey`),ke=e=>{s(Oe,e)},Y=()=>o(Oe),Ae=Symbol(`ForceRenderKey`),je=e=>{s(Ae,e)},Me=()=>o(Ae,!1),Ne=Symbol(`menuFirstLevelContextKey`),Pe=e=>{s(Ne,e)},Fe=()=>o(Ne,!0),Ie=u({compatConfig:{MODE:3},name:`MenuContextProvider`,inheritAttrs:!1,props:{mode:{type:String,default:void 0},overflowDisabled:{type:Boolean,default:void 0}},setup(e,n){let{slots:r}=n,i=Y(),a=A({},i);return e.mode!==void 0&&(a.mode=t(e,`mode`)),e.overflowDisabled!==void 0&&(a.overflowDisabled=t(e,`overflowDisabled`)),ke(a),()=>r.default?.call(r)}}),Le=Symbol(`siderCollapsed`),Re=Symbol(`siderHookProvider`),ze=`$$__vc-menu-more__key`,Be=Symbol(`KeyPathContext`),Ve=()=>o(Be,{parentEventKeys:f(()=>[]),parentKeys:f(()=>[]),parentInfo:{}}),He=(e,t,n)=>{let{parentEventKeys:r,parentKeys:i}=Ve(),a=f(()=>[...r.value,e]),o=f(()=>[...i.value,t]);return s(Be,{parentEventKeys:a,parentKeys:o,parentInfo:n}),o},Ue=Symbol(`measure`),We=u({compatConfig:{MODE:3},setup(e,t){let{slots:n}=t;return s(Ue,!0),()=>n.default?.call(n)}}),Ge=()=>o(Ue,!1);function Ke(e){let{mode:t,rtl:n,inlineIndent:r}=Y();return f(()=>t.value===`inline`?n.value?{paddingRight:`${e.value*r.value}px`}:{paddingLeft:`${e.value*r.value}px`}:null)}var qe=0,X=u({compatConfig:{MODE:3},name:`AMenuItem`,inheritAttrs:!1,props:{id:String,role:String,disabled:Boolean,danger:Boolean,title:{type:[String,Boolean],default:void 0},icon:P.any,onMouseenter:Function,onMouseleave:Function,onClick:Function,onKeydown:Function,onFocus:Function,originItemValue:E()},slots:Object,setup(e,t){let{slots:n,emit:i,attrs:o}=t,s=a(),l=Ge(),u=typeof s.vnode.key==`symbol`?String(s.vnode.key):s.vnode.key;de(typeof s.vnode.key!=`symbol`,`MenuItem`,`MenuItem \`:key="${String(u)}"\` not support Symbol type`);let m=`menu_item_${++qe}_$$_${u}`,{parentEventKeys:h,parentKeys:g}=Ve(),{prefixCls:_,activeKeys:v,disabled:y,changeActiveKeys:b,rtl:S,inlineCollapsed:C,siderCollapsed:T,onItemClick:E,selectedKeys:D,registerMenuInfo:O,unRegisterMenuInfo:k}=Y(),M=Fe(),ee=r(!1),N=f(()=>[...g.value,u]);O(m,{eventKey:m,key:u,parentEventKeys:h,parentKeys:g,isLeaf:!0}),c(()=>{k(m)}),p(v,()=>{ee.value=!!v.value.find(e=>e===u)},{immediate:!0});let P=f(()=>y.value||e.disabled),F=f(()=>D.value.includes(u)),te=f(()=>{let t=`${_.value}-item`;return{[`${t}`]:!0,[`${t}-danger`]:e.danger,[`${t}-active`]:ee.value,[`${t}-selected`]:F.value,[`${t}-disabled`]:P.value}}),ne=t=>({key:u,eventKey:m,keyPath:N.value,eventKeyPath:[...h.value,m],domEvent:t,item:A(A({},e),o)}),re=e=>{if(P.value)return;let t=ne(e);i(`click`,e),E(t)},I=e=>{P.value||(b(N.value),i(`mouseenter`,e))},L=e=>{P.value||(b([]),i(`mouseleave`,e))},R=e=>{if(i(`keydown`,e),e.which===fe.ENTER){let t=ne(e);i(`click`,e),E(t)}},B=e=>{b(N.value),i(`focus`,e)},ae=(e,t)=>{let n=d(`span`,{class:`${_.value}-title-content`},[t]);return(!e||w(t)&&t.type===`span`)&&t&&C.value&&M&&typeof t==`string`?d(`div`,{class:`${_.value}-inline-collapsed-noicon`},[t.charAt(0)]):n},V=Ke(f(()=>N.value.length));return()=>{if(l)return null;let t=e.title??n.title?.call(n),r=j(n.default?.call(n)),i=r.length,a=t;t===void 0?a=M&&i?r:``:t===!1&&(a=``);let s={title:a};!T.value&&!C.value&&(s.title=null,s.open=!1);let c={};e.role===`option`&&(c[`aria-selected`]=F.value);let f=e.icon??n.icon?.call(n,e);return d(z,x(x({},s),{},{placement:S.value?`left`:`right`,overlayClassName:`${_.value}-inline-collapsed-tooltip`}),{default:()=>[d(ie.Item,x(x(x({component:`li`},o),{},{id:e.id,style:A(A({},o.style||{}),V.value),class:[te.value,{[`${o.class}`]:!!o.class,[`${_.value}-item-only-child`]:(f?i+1:i)===1}],role:e.role||`menuitem`,tabindex:e.disabled?null:-1,"data-menu-id":u,"aria-disabled":e.disabled},c),{},{onMouseenter:I,onMouseleave:L,onClick:re,onKeydown:R,onFocus:B,title:typeof t==`string`?t:void 0}),{default:()=>[W(typeof f==`function`?f(e.originItemValue):f,{class:`${_.value}-item-icon`},!1),ae(f,r)]})]})}}}),Z={adjustX:1,adjustY:1},Je={topLeft:{points:[`bl`,`tl`],overflow:Z,offset:[0,-7]},bottomLeft:{points:[`tl`,`bl`],overflow:Z,offset:[0,7]},leftTop:{points:[`tr`,`tl`],overflow:Z,offset:[-4,0]},rightTop:{points:[`tl`,`tr`],overflow:Z,offset:[4,0]}},Ye={topLeft:{points:[`bl`,`tl`],overflow:Z,offset:[0,-7]},bottomLeft:{points:[`tl`,`bl`],overflow:Z,offset:[0,7]},rightTop:{points:[`tr`,`tl`],overflow:Z,offset:[-4,0]},leftTop:{points:[`tl`,`tr`],overflow:Z,offset:[4,0]}},Xe={horizontal:`bottomLeft`,vertical:`rightTop`,"vertical-left":`rightTop`,"vertical-right":`leftTop`},Ze=u({compatConfig:{MODE:3},name:`PopupTrigger`,inheritAttrs:!1,props:{prefixCls:String,mode:String,visible:Boolean,popupClassName:String,popupOffset:Array,disabled:Boolean,onVisibleChange:Function},slots:Object,emits:[`visibleChange`],setup(e,t){let{slots:n,emit:i}=t,a=r(!1),{getPopupContainer:o,rtl:s,subMenuOpenDelay:l,subMenuCloseDelay:u,builtinPlacements:m,triggerSubMenuAction:h,forceSubMenuRender:g,motion:_,defaultMotions:v,rootClassName:y}=Y(),b=Me(),x=f(()=>s.value?A(A({},Ye),m.value):A(A({},Je),m.value)),C=f(()=>Xe[e.mode]),w=r();p(()=>e.visible,e=>{ue.cancel(w.value),w.value=ue(()=>{a.value=e})},{immediate:!0}),c(()=>{ue.cancel(w.value)});let T=e=>{i(`visibleChange`,e)},E=f(()=>{let t=_.value||v.value?.[e.mode]||v.value?.other,n=typeof t==`function`?t():t;return n?U(n.name,{css:!0}):void 0});return()=>{let{prefixCls:t,popupClassName:r,mode:i,popupOffset:c,disabled:f}=e;return d(R,{prefixCls:t,popupClassName:S(`${t}-popup`,{[`${t}-rtl`]:s.value},r,y.value),stretch:i===`horizontal`?`minWidth`:null,getPopupContainer:o.value,builtinPlacements:x.value,popupPlacement:C.value,popupVisible:a.value,popupAlign:c&&{offset:c},action:f?[]:[h.value],mouseEnterDelay:l.value,mouseLeaveDelay:u.value,onPopupVisibleChange:T,forceRender:b||g.value,popupAnimation:E.value},{popup:n.popup,default:n.default})}}}),Qe=(e,t)=>{let{slots:n,attrs:r}=t,{prefixCls:i,mode:a}=Y();return d(`ul`,x(x({},r),{},{class:S(i.value,`${i.value}-sub`,`${i.value}-${a.value===`inline`?`inline`:`vertical`}`),"data-menu-list":!0}),[n.default?.call(n)])};Qe.displayName=`SubMenuList`;var $e=u({compatConfig:{MODE:3},name:`InlineSubMenuList`,inheritAttrs:!1,props:{id:String,open:Boolean,keyPath:Array},setup(e,t){let{slots:n}=t,r=f(()=>`inline`),{motion:a,mode:o,defaultMotions:s}=Y(),c=f(()=>o.value===r.value),l=i(!c.value),u=f(()=>c.value?e.open:!1);p(o,()=>{c.value&&(l.value=!1)},{flush:`post`});let m=f(()=>{let t=a.value||s.value?.[r.value]||s.value?.other,n=typeof t==`function`?t():t;return A(A({},n),{appear:e.keyPath.length<=1})});return()=>l.value?null:d(Ie,{mode:r.value},{default:()=>[d(v,m.value,{default:()=>[h(d(Qe,{id:e.id},{default:()=>[n.default?.call(n)]}),[[y,u.value]])]})]})}}),et=0,Q=u({compatConfig:{MODE:3},name:`ASubMenu`,inheritAttrs:!1,props:{icon:P.any,title:P.any,disabled:Boolean,level:Number,popupClassName:String,popupOffset:Array,internalPopupClose:Boolean,eventKey:String,expandIcon:Function,theme:String,onMouseenter:Function,onMouseleave:Function,onTitleClick:Function,originItemValue:E()},slots:Object,setup(e,t){let{slots:n,attrs:i,emit:o}=t;var s;Pe(!1);let l=Ge(),u=a(),h=typeof u.vnode.key==`symbol`?String(u.vnode.key):u.vnode.key;de(typeof u.vnode.key!=`symbol`,`SubMenu`,`SubMenu \`:key="${String(h)}"\` not support Symbol type`);let g=te(h)?h:`sub_menu_${++et}_$$_not_set_key`,_=e.eventKey??(te(h)?`sub_menu_${++et}_$$_${h}`:g),{parentEventKeys:v,parentInfo:y,parentKeys:b}=Ve(),C=f(()=>[...b.value,g]),T={eventKey:_,key:g,parentEventKeys:v,childrenEventKeys:r([]),parentKeys:b};(s=y.childrenEventKeys)==null||s.value.push(_),c(()=>{y.childrenEventKeys&&(y.childrenEventKeys.value=y.childrenEventKeys?.value.filter(e=>e!=_))}),He(_,g,T);let{prefixCls:E,activeKeys:D,disabled:O,changeActiveKeys:k,mode:j,inlineCollapsed:ee,openKeys:N,overflowDisabled:P,onOpenChange:F,registerMenuInfo:ne,unRegisterMenuInfo:re,selectedSubMenuKeys:I,expandIcon:L,theme:R}=Y(),z=h!=null,B=!l&&(Me()||!z);je(B),(l&&z||!l&&!z||B)&&(ne(_,T),c(()=>{re(_)}));let ae=f(()=>`${E.value}-submenu`),V=f(()=>O.value||e.disabled),oe=r(),se=r(),H=f(()=>N.value.includes(g)),U=f(()=>!P.value&&H.value),ce=f(()=>I.value.includes(g)),le=r(!1);p(D,()=>{le.value=!!D.value.find(e=>e===g)},{immediate:!0});let ue=e=>{V.value||(o(`titleClick`,e,g),j.value===`inline`&&F(g,!H.value))},fe=e=>{V.value||(k(C.value),o(`mouseenter`,e))},pe=e=>{V.value||(k([]),o(`mouseleave`,e))},me=Ke(f(()=>C.value.length)),he=e=>{j.value!==`inline`&&F(g,e)},ge=()=>{k(C.value)},G=_&&`${_}-popup`,K=f(()=>S(E.value,`${E.value}-${e.theme||R.value}`,e.popupClassName)),q=(t,n)=>{if(!n)return ee.value&&!b.value.length&&t&&typeof t==`string`?d(`div`,{class:`${E.value}-inline-collapsed-noicon`},[t.charAt(0)]):d(`span`,{class:`${E.value}-title-content`},[t]);let r=w(t)&&t.type===`span`;return d(m,null,[W(typeof n==`function`?n(e.originItemValue):n,{class:`${E.value}-item-icon`},!1),r?t:d(`span`,{class:`${E.value}-title-content`},[t])])},_e=f(()=>j.value!==`inline`&&C.value.length>1?`vertical`:j.value),ve=f(()=>j.value===`horizontal`?`vertical`:j.value),ye=f(()=>_e.value===`horizontal`?`vertical`:_e.value),be=()=>{let t=ae.value,r=e.icon??n.icon?.call(n,e),i=e.expandIcon||n.expandIcon||L.value,a=q(M(n,e,`title`),r);return d(`div`,{style:me.value,class:`${t}-title`,tabindex:V.value?null:-1,ref:oe,title:typeof a==`string`?a:null,"data-menu-id":g,"aria-expanded":U.value,"aria-haspopup":!0,"aria-controls":G,"aria-disabled":V.value,onClick:ue,onFocus:ge},[a,j.value!==`horizontal`&&i?i(A(A({},e),{isOpen:U.value})):d(`i`,{class:`${t}-arrow`},null)])};return()=>{if(l)return z?n.default?.call(n):null;let t=ae.value,r=()=>null;if(!P.value&&j.value!==`inline`){let i=j.value===`horizontal`?[0,8]:[10,0];r=()=>d(Ze,{mode:_e.value,prefixCls:t,visible:!e.internalPopupClose&&U.value,popupClassName:K.value,popupOffset:e.popupOffset||i,disabled:V.value,onVisibleChange:he},{default:()=>[be()],popup:()=>d(Ie,{mode:ye.value},{default:()=>[d(Qe,{id:G,ref:se},{default:n.default})]})})}else r=()=>d(Ze,null,{default:be});return d(Ie,{mode:ve.value},{default:()=>[d(ie.Item,x(x({component:`li`},i),{},{role:`none`,class:S(t,`${t}-${j.value}`,i.class,{[`${t}-open`]:U.value,[`${t}-active`]:le.value,[`${t}-selected`]:ce.value,[`${t}-disabled`]:V.value}),onMouseenter:fe,onMouseleave:pe,"data-submenu-id":g}),{default:()=>d(m,null,[r(),!P.value&&d($e,{id:G,open:U.value,keyPath:C.value},{default:n.default})])})]})}}}),tt=u({compatConfig:{MODE:3},name:`AMenuItemGroup`,inheritAttrs:!1,props:{title:P.any,originItemValue:E()},slots:Object,setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i}=Y(),a=f(()=>`${i.value}-item-group`),o=Ge();return()=>o?n.default?.call(n):d(`li`,x(x({},r),{},{onClick:e=>e.stopPropagation(),class:a.value}),[d(`div`,{title:typeof e.title==`string`?e.title:void 0,class:`${a.value}-title`},[M(n,e,`title`)]),d(`ul`,{class:`${a.value}-list`},[n.default?.call(n)])])}}),nt=u({compatConfig:{MODE:3},name:`AMenuDivider`,props:{prefixCls:String,dashed:Boolean},setup(e){let{prefixCls:t}=Y(),n=f(()=>({[`${t.value}-item-divider`]:!0,[`${t.value}-item-divider-dashed`]:!!e.dashed}));return()=>d(`li`,{class:n.value},null)}}),rt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};function it(e,t,n){return(e||[]).map((e,r)=>{if(e&&typeof e==`object`){let a=e,{label:o,children:s,key:c,type:l}=a,u=rt(a,[`label`,`children`,`key`,`type`]),f=c??`tmp-${r}`,p=n?n.parentKeys.slice():[],m=[],h={eventKey:f,key:f,parentEventKeys:i(p),parentKeys:i(p),childrenEventKeys:i(m),isLeaf:!1};if(s||l===`group`){if(l===`group`){let r=it(s,t,n);return d(tt,x(x({key:f},u),{},{title:o,originItemValue:e}),{default:()=>[r]})}t.set(f,h),n&&n.childrenEventKeys.push(f);let r=it(s,t,{childrenEventKeys:m,parentKeys:[].concat(p,f)});return d(Q,x(x({key:f},u),{},{title:o,originItemValue:e}),{default:()=>[r]})}return l===`divider`?d(nt,x({key:f},u),null):(h.isLeaf=!0,t.set(f,h),d(X,x(x({key:f},u),{},{originItemValue:e}),{default:()=>[o]}))}return null}).filter(e=>e)}function at(e){let t=r([]),n=r(!1),i=r(new Map);return p(()=>e.items,()=>{let r=new Map;n.value=!1,e.items?(n.value=!0,t.value=it(e.items,r)):t.value=void 0,i.value=r},{immediate:!0,deep:!0}),{itemsNodes:t,store:i,hasItmes:n}}var ot=e=>{let{componentCls:t,motionDurationSlow:n,menuHorizontalHeight:r,colorSplit:i,lineWidth:a,lineType:o,menuItemPaddingInline:s}=e;return{[`${t}-horizontal`]:{lineHeight:`${r}px`,border:0,borderBottom:`${a}px ${o} ${i}`,boxShadow:`none`,"&::after":{display:`block`,clear:`both`,height:0,content:`"\\20"`},[`${t}-item, ${t}-submenu`]:{position:`relative`,display:`inline-block`,verticalAlign:`bottom`,paddingInline:s},[`> ${t}-item:hover,
|
|
2
|
-
> ${t}-item-active,
|
|
3
|
-
> ${t}-submenu ${t}-submenu-title:hover`]:{backgroundColor:`transparent`},[`${t}-item, ${t}-submenu-title`]:{transition:[`border-color ${n}`,`background ${n}`].join(`,`)},[`${t}-submenu-arrow`]:{display:`none`}}}},st=e=>{let{componentCls:t,menuArrowOffset:n}=e;return{[`${t}-rtl`]:{direction:`rtl`},[`${t}-submenu-rtl`]:{transformOrigin:`100% 0`},[`${t}-rtl${t}-vertical,
|
|
4
|
-
${t}-submenu-rtl ${t}-vertical`]:{[`${t}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(-${n})`},"&::after":{transform:`rotate(45deg) translateY(${n})`}}}}},ct=e=>A({},N(e)),lt=(e,t)=>{let{componentCls:n,colorItemText:r,colorItemTextSelected:i,colorGroupTitle:a,colorItemBg:o,colorSubItemBg:s,colorItemBgSelected:c,colorActiveBarHeight:l,colorActiveBarWidth:u,colorActiveBarBorderSize:d,motionDurationSlow:f,motionEaseInOut:p,motionEaseOut:m,menuItemPaddingInline:h,motionDurationMid:g,colorItemTextHover:_,lineType:v,colorSplit:y,colorItemTextDisabled:b,colorDangerItemText:x,colorDangerItemTextHover:S,colorDangerItemTextSelected:C,colorDangerItemBgActive:w,colorDangerItemBgSelected:T,colorItemBgHover:E,menuSubMenuBg:D,colorItemTextSelectedHorizontal:O,colorItemBgSelectedHorizontal:k}=e;return{[`${n}-${t}`]:{color:r,background:o,[`&${n}-root:focus-visible`]:A({},ct(e)),[`${n}-item-group-title`]:{color:a},[`${n}-submenu-selected`]:{[`> ${n}-submenu-title`]:{color:i}},[`${n}-item-disabled, ${n}-submenu-disabled`]:{color:`${b} !important`},[`${n}-item:hover, ${n}-submenu-title:hover`]:{[`&:not(${n}-item-selected):not(${n}-submenu-selected)`]:{color:_}},[`&:not(${n}-horizontal)`]:{[`${n}-item:not(${n}-item-selected)`]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:c}},[`${n}-submenu-title`]:{"&:hover":{backgroundColor:E},"&:active":{backgroundColor:c}}},[`${n}-item-danger`]:{color:x,[`&${n}-item:hover`]:{[`&:not(${n}-item-selected):not(${n}-submenu-selected)`]:{color:S}},[`&${n}-item:active`]:{background:w}},[`${n}-item a`]:{"&, &:hover":{color:`inherit`}},[`${n}-item-selected`]:{color:i,[`&${n}-item-danger`]:{color:C},"a, a:hover":{color:`inherit`}},[`& ${n}-item-selected`]:{backgroundColor:c,[`&${n}-item-danger`]:{backgroundColor:T}},[`${n}-item, ${n}-submenu-title`]:{[`&:not(${n}-item-disabled):focus-visible`]:A({},ct(e))},[`&${n}-submenu > ${n}`]:{backgroundColor:D},[`&${n}-popup > ${n}`]:{backgroundColor:o},[`&${n}-horizontal`]:A(A({},t===`dark`?{borderBottom:0}:{}),{[`> ${n}-item, > ${n}-submenu`]:{top:d,marginTop:-d,marginBottom:0,borderRadius:0,"&::after":{position:`absolute`,insetInline:h,bottom:0,borderBottom:`${l}px solid transparent`,transition:`border-color ${f} ${p}`,content:`""`},"&:hover, &-active, &-open":{"&::after":{borderBottomWidth:l,borderBottomColor:O}},"&-selected":{color:O,backgroundColor:k,"&::after":{borderBottomWidth:l,borderBottomColor:O}}}}),[`&${n}-root`]:{[`&${n}-inline, &${n}-vertical`]:{borderInlineEnd:`${d}px ${v} ${y}`}},[`&${n}-inline`]:{[`${n}-sub${n}-inline`]:{background:s},[`${n}-item, ${n}-submenu-title`]:d&&u?{width:`calc(100% + ${d}px)`}:{},[`${n}-item`]:{position:`relative`,"&::after":{position:`absolute`,insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${u}px solid ${i}`,transform:`scaleY(0.0001)`,opacity:0,transition:[`transform ${g} ${m}`,`opacity ${g} ${m}`].join(`,`),content:`""`},[`&${n}-item-danger`]:{"&::after":{borderInlineEndColor:C}}},[`${n}-selected, ${n}-item-selected`]:{"&::after":{transform:`scaleY(1)`,opacity:1,transition:[`transform ${g} ${p}`,`opacity ${g} ${p}`].join(`,`)}}}}}},ut=e=>{let{componentCls:t,menuItemHeight:n,itemMarginInline:r,padding:i,menuArrowSize:a,marginXS:o,marginXXS:s}=e,c=i+a+o;return{[`${t}-item`]:{position:`relative`},[`${t}-item, ${t}-submenu-title`]:{height:n,lineHeight:`${n}px`,paddingInline:i,overflow:`hidden`,textOverflow:`ellipsis`,marginInline:r,marginBlock:s,width:`calc(100% - ${r*2}px)`},[`${t}-submenu`]:{paddingBottom:.02},[`> ${t}-item,
|
|
5
|
-
> ${t}-submenu > ${t}-submenu-title`]:{height:n,lineHeight:`${n}px`},[`${t}-item-group-list ${t}-submenu-title,
|
|
6
|
-
${t}-submenu-title`]:{paddingInlineEnd:c}}},dt=e=>{let{componentCls:t,iconCls:n,menuItemHeight:r,colorTextLightSolid:i,dropdownWidth:a,controlHeightLG:o,motionDurationMid:s,motionEaseOut:c,paddingXL:l,fontSizeSM:u,fontSizeLG:d,motionDurationSlow:f,paddingXS:p,boxShadowSecondary:m}=e,h={height:r,lineHeight:`${r}px`,listStylePosition:`inside`,listStyleType:`disc`};return[{[t]:{"&-inline, &-vertical":A({[`&${t}-root`]:{boxShadow:`none`}},ut(e))},[`${t}-submenu-popup`]:{[`${t}-vertical`]:A(A({},ut(e)),{boxShadow:m})}},{[`${t}-submenu-popup ${t}-vertical${t}-sub`]:{minWidth:a,maxHeight:`calc(100vh - ${o*2.5}px)`,padding:`0`,overflow:`hidden`,borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:`hidden`,overflowY:`auto`}}},{[`${t}-inline`]:{width:`100%`,[`&${t}-root`]:{[`${t}-item, ${t}-submenu-title`]:{display:`flex`,alignItems:`center`,transition:[`border-color ${f}`,`background ${f}`,`padding ${s} ${c}`].join(`,`),[`> ${t}-title-content`]:{flex:`auto`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`},"> *":{flex:`none`}}},[`${t}-sub${t}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:`none`,[`& > ${t}-submenu > ${t}-submenu-title`]:h,[`& ${t}-item-group-title`]:{paddingInlineStart:l}},[`${t}-item`]:h}},{[`${t}-inline-collapsed`]:{width:r*2,[`&${t}-root`]:{[`${t}-item, ${t}-submenu ${t}-submenu-title`]:{[`> ${t}-inline-collapsed-noicon`]:{fontSize:d,textAlign:`center`}}},[`> ${t}-item,
|
|
7
|
-
> ${t}-item-group > ${t}-item-group-list > ${t}-item,
|
|
8
|
-
> ${t}-item-group > ${t}-item-group-list > ${t}-submenu > ${t}-submenu-title,
|
|
9
|
-
> ${t}-submenu > ${t}-submenu-title`]:{insetInlineStart:0,paddingInline:`calc(50% - ${u}px)`,textOverflow:`clip`,[`
|
|
10
|
-
${t}-submenu-arrow,
|
|
11
|
-
${t}-submenu-expand-icon
|
|
12
|
-
`]:{opacity:0},[`${t}-item-icon, ${n}`]:{margin:0,fontSize:d,lineHeight:`${r}px`,"+ span":{display:`inline-block`,opacity:0}}},[`${t}-item-icon, ${n}`]:{display:`inline-block`},"&-tooltip":{pointerEvents:`none`,[`${t}-item-icon, ${n}`]:{display:`none`},"a, a:hover":{color:i}},[`${t}-item-group-title`]:A(A({},C),{paddingInline:p})}}]},ft=e=>{let{componentCls:t,fontSize:n,motionDurationSlow:r,motionDurationMid:i,motionEaseInOut:a,motionEaseOut:o,iconCls:s,controlHeightSM:c}=e;return{[`${t}-item, ${t}-submenu-title`]:{position:`relative`,display:`block`,margin:0,whiteSpace:`nowrap`,cursor:`pointer`,transition:[`border-color ${r}`,`background ${r}`,`padding ${r} ${a}`].join(`,`),[`${t}-item-icon, ${s}`]:{minWidth:n,fontSize:n,transition:[`font-size ${i} ${o}`,`margin ${r} ${a}`,`color ${r}`].join(`,`),"+ span":{marginInlineStart:c-n,opacity:1,transition:[`opacity ${r} ${a}`,`margin ${r}`,`color ${r}`].join(`,`)}},[`${t}-item-icon`]:A({},O()),[`&${t}-item-only-child`]:{[`> ${s}, > ${t}-item-icon`]:{marginInlineEnd:0}}},[`${t}-item-disabled, ${t}-submenu-disabled`]:{background:`none !important`,cursor:`not-allowed`,"&::after":{borderColor:`transparent !important`},a:{color:`inherit !important`},[`> ${t}-submenu-title`]:{color:`inherit !important`,cursor:`not-allowed`}}}},pt=e=>{let{componentCls:t,motionDurationSlow:n,motionEaseInOut:r,borderRadius:i,menuArrowSize:a,menuArrowOffset:o}=e;return{[`${t}-submenu`]:{"&-expand-icon, &-arrow":{position:`absolute`,top:`50%`,insetInlineEnd:e.margin,width:a,color:`currentcolor`,transform:`translateY(-50%)`,transition:`transform ${n} ${r}, opacity ${n}`},"&-arrow":{"&::before, &::after":{position:`absolute`,width:a*.6,height:a*.15,backgroundColor:`currentcolor`,borderRadius:i,transition:[`background ${n} ${r}`,`transform ${n} ${r}`,`top ${n} ${r}`,`color ${n} ${r}`].join(`,`),content:`""`},"&::before":{transform:`rotate(45deg) translateY(-${o})`},"&::after":{transform:`rotate(-45deg) translateY(${o})`}}}}},mt=e=>{let{antCls:t,componentCls:n,fontSize:r,motionDurationSlow:i,motionDurationMid:a,motionEaseInOut:o,lineHeight:s,paddingXS:c,padding:l,colorSplit:u,lineWidth:d,zIndexPopup:f,borderRadiusLG:p,radiusSubMenuItem:m,menuArrowSize:h,menuArrowOffset:g,lineType:_,menuPanelMaskInset:v}=e;return[{"":{[`${n}`]:A(A({},D()),{"&-hidden":{display:`none`}})},[`${n}-submenu-hidden`]:{display:`none`}},{[n]:A(A(A(A(A(A(A({},k(e)),D()),{marginBottom:0,paddingInlineStart:0,fontSize:r,lineHeight:0,listStyle:`none`,outline:`none`,transition:`width ${i} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:`none`},"&-overflow":{display:`flex`,[`${n}-item`]:{flex:`none`}},[`${n}-item, ${n}-submenu, ${n}-submenu-title`]:{borderRadius:e.radiusItem},[`${n}-item-group-title`]:{padding:`${c}px ${l}px`,fontSize:r,lineHeight:s,transition:`all ${i}`},[`&-horizontal ${n}-submenu`]:{transition:[`border-color ${i} ${o}`,`background ${i} ${o}`].join(`,`)},[`${n}-submenu, ${n}-submenu-inline`]:{transition:[`border-color ${i} ${o}`,`background ${i} ${o}`,`padding ${a} ${o}`].join(`,`)},[`${n}-submenu ${n}-sub`]:{cursor:`initial`,transition:[`background ${i} ${o}`,`padding ${i} ${o}`].join(`,`)},[`${n}-title-content`]:{transition:`color ${i}`},[`${n}-item a`]:{"&::before":{position:`absolute`,inset:0,backgroundColor:`transparent`,content:`""`}},[`${n}-item-divider`]:{overflow:`hidden`,lineHeight:0,borderColor:u,borderStyle:_,borderWidth:0,borderTopWidth:d,marginBlock:d,padding:0,"&-dashed":{borderStyle:`dashed`}}}),ft(e)),{[`${n}-item-group`]:{[`${n}-item-group-list`]:{margin:0,padding:0,[`${n}-item, ${n}-submenu-title`]:{paddingInline:`${r*2}px ${l}px`}}},"&-submenu":{"&-popup":{position:`absolute`,zIndex:f,background:`transparent`,borderRadius:p,boxShadow:`none`,transformOrigin:`0 0`,"&::before":{position:`absolute`,inset:`${v}px 0 0`,zIndex:-1,width:`100%`,height:`100%`,opacity:0,content:`""`}},"&-placement-rightTop::before":{top:0,insetInlineStart:v},[`> ${n}`]:A(A(A({borderRadius:p},ft(e)),pt(e)),{[`${n}-item, ${n}-submenu > ${n}-submenu-title`]:{borderRadius:m},[`${n}-submenu-title::after`]:{transition:`transform ${i} ${o}`}})}}),pt(e)),{[`&-inline-collapsed ${n}-submenu-arrow,
|
|
13
|
-
&-inline ${n}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${g})`},"&::after":{transform:`rotate(45deg) translateX(-${g})`}},[`${n}-submenu-open${n}-submenu-inline > ${n}-submenu-title > ${n}-submenu-arrow`]:{transform:`translateY(-${h*.2}px)`,"&::after":{transform:`rotate(-45deg) translateX(-${g})`},"&::before":{transform:`rotate(45deg) translateX(${g})`}}})},{[`${t}-layout-header`]:{[n]:{lineHeight:`inherit`}}}]},ht=((e,t)=>T(`Menu`,(e,n)=>{let{overrideComponentToken:r}=n;if(t?.value===!1)return[];let{colorBgElevated:i,colorPrimary:a,colorError:o,colorErrorHover:s,colorTextLightSolid:c}=e,{controlHeightLG:l,fontSize:u}=e,d=u/7*5,f=F(e,{menuItemHeight:l,menuItemPaddingInline:e.margin,menuArrowSize:d,menuHorizontalHeight:l*1.15,menuArrowOffset:`${d*.25}px`,menuPanelMaskInset:-7,menuSubMenuBg:i}),p=new b(c).setAlpha(.65).toRgbString(),m=F(f,{colorItemText:p,colorItemTextHover:c,colorGroupTitle:p,colorItemTextSelected:c,colorItemBg:`#001529`,colorSubItemBg:`#000c17`,colorItemBgActive:`transparent`,colorItemBgSelected:a,colorActiveBarWidth:0,colorActiveBarHeight:0,colorActiveBarBorderSize:0,colorItemTextDisabled:new b(c).setAlpha(.25).toRgbString(),colorDangerItemText:o,colorDangerItemTextHover:s,colorDangerItemTextSelected:c,colorDangerItemBgActive:o,colorDangerItemBgSelected:o,menuSubMenuBg:`#001529`,colorItemTextSelectedHorizontal:c,colorItemBgSelectedHorizontal:a},A({},r));return[mt(f),ot(f),dt(f),lt(f,`light`),lt(m,`dark`),st(f),V(f),se(f,`slide-up`),se(f,`slide-down`),le(f,`zoom-big`)]},e=>{let{colorPrimary:t,colorError:n,colorTextDisabled:r,colorErrorBg:i,colorText:a,colorTextDescription:o,colorBgContainer:s,colorFillAlter:c,colorFillContent:l,lineWidth:u,lineWidthBold:d,controlItemBgActive:f,colorBgTextHover:p}=e;return{dropdownWidth:160,zIndexPopup:e.zIndexPopupBase+50,radiusItem:e.borderRadiusLG,radiusSubMenuItem:e.borderRadiusSM,colorItemText:a,colorItemTextHover:a,colorItemTextHoverHorizontal:t,colorGroupTitle:o,colorItemTextSelected:t,colorItemTextSelectedHorizontal:t,colorItemBg:s,colorItemBgHover:p,colorItemBgActive:l,colorSubItemBg:c,colorItemBgSelected:f,colorItemBgSelectedHorizontal:`transparent`,colorActiveBarWidth:0,colorActiveBarHeight:d,colorActiveBarBorderSize:u,colorItemTextDisabled:r,colorDangerItemText:n,colorDangerItemTextHover:n,colorDangerItemTextSelected:n,colorDangerItemBgActive:i,colorDangerItemBgSelected:i,itemMarginInline:e.marginXXS}})(e)),gt=()=>({id:String,prefixCls:String,items:Array,disabled:Boolean,inlineCollapsed:Boolean,disabledOverflow:Boolean,forceSubMenuRender:Boolean,openKeys:Array,selectedKeys:Array,activeKey:String,selectable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},tabindex:{type:[Number,String]},motion:Object,role:String,theme:{type:String,default:`light`},mode:{type:String,default:`vertical`},inlineIndent:{type:Number,default:24},subMenuOpenDelay:{type:Number,default:0},subMenuCloseDelay:{type:Number,default:.1},builtinPlacements:{type:Object},triggerSubMenuAction:{type:String,default:`hover`},getPopupContainer:Function,expandIcon:Function,onOpenChange:Function,onSelect:Function,onDeselect:Function,onClick:[Function,Array],onFocus:Function,onBlur:Function,onMousedown:Function,"onUpdate:openKeys":Function,"onUpdate:selectedKeys":Function,"onUpdate:activeKey":Function}),_t=[],$=u({compatConfig:{MODE:3},name:`AMenu`,inheritAttrs:!1,props:gt(),slots:Object,setup(e,t){let{slots:a,emit:s,attrs:c}=t,{direction:u,getPrefixCls:h}=ee(`menu`,e),v=Te(),y=f(()=>h(`menu`,e.prefixCls||v?.prefixCls?.value)),[b,S]=ht(y,f(()=>!v)),C=r(new Map),w=o(Le,i(void 0)),T=f(()=>w.value===void 0?e.inlineCollapsed:w.value),{itemsNodes:E}=at(e),D=r(!1);l(()=>{D.value=!0}),_(()=>{de(e.inlineCollapsed!==!0||e.mode===`inline`,`Menu`,"`inlineCollapsed` should only be used when `mode` is inline."),de(w.value===void 0||e.inlineCollapsed!==!0,`Menu`,"`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.")});let O=i([]),k=i([]),M=i({});p(C,()=>{let e={};for(let t of C.value.values())e[t.key]=t;M.value=e},{flush:`post`}),_(()=>{if(e.activeKey!==void 0){let t=[],r=e.activeKey?M.value[e.activeKey]:void 0;t=r&&e.activeKey!==void 0?G([].concat(n(r.parentKeys),e.activeKey)):[],J(O.value,t)||(O.value=t)}}),p(()=>e.selectedKeys,e=>{e&&(k.value=e.slice())},{immediate:!0,deep:!0});let N=i([]);p([M,k],()=>{let e=[];k.value.forEach(t=>{let r=M.value[t];r&&(e=e.concat(n(r.parentKeys)))}),e=G(e),J(N.value,e)||(N.value=e)},{immediate:!0});let P=t=>{if(e.selectable){let{key:n}=t,r=k.value.includes(n),i;i=e.multiple?r?k.value.filter(e=>e!==n):[...k.value,n]:[n];let a=A(A({},t),{selectedKeys:i});J(i,k.value)||(e.selectedKeys===void 0&&(k.value=i),s(`update:selectedKeys`,i),r&&e.multiple?s(`deselect`,a):s(`select`,a))}L.value!==`inline`&&!e.multiple&&F.value.length&&B(_t)},F=i([]);p(()=>e.openKeys,function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:F.value;J(F.value,e)||(F.value=e.slice())},{immediate:!0,deep:!0});let te,ne=t=>{clearTimeout(te),te=setTimeout(()=>{e.activeKey===void 0&&(O.value=t),s(`update:activeKey`,t[t.length-1])})},re=f(()=>!!e.disabled),I=f(()=>u.value===`rtl`),L=i(`vertical`),R=r(!1);_(()=>{(e.mode===`inline`||e.mode===`vertical`)&&T.value?(L.value=`vertical`,R.value=T.value):(L.value=e.mode,R.value=!1),v?.mode?.value&&(L.value=v.mode.value)});let z=f(()=>L.value===`inline`),B=e=>{F.value=e,s(`update:openKeys`,e),s(`openChange`,e)},V=i(F.value),oe=r(!1);p(F,()=>{z.value&&(V.value=F.value)},{immediate:!0}),p(z,()=>{if(!oe.value){oe.value=!0;return}z.value?F.value=V.value:B(_t)},{immediate:!0});let se=f(()=>({[`${y.value}`]:!0,[`${y.value}-root`]:!0,[`${y.value}-${L.value}`]:!0,[`${y.value}-inline-collapsed`]:R.value,[`${y.value}-rtl`]:I.value,[`${y.value}-${e.theme}`]:!0})),H=f(()=>h()),U=f(()=>({horizontal:{name:`${H.value}-slide-up`},inline:ae(`${H.value}-motion-collapse`),other:{name:`${H.value}-zoom-big`}}));Pe(!0);let ce=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=[],r=C.value;return e.forEach(e=>{let{key:i,childrenEventKeys:a}=r.get(e);t.push(i,...ce(n(a)))}),t},le=e=>{var t;s(`click`,e),P(e),(t=v?.onClick)==null||t.call(v)},ue=(e,t)=>{let r=M.value[e]?.childrenEventKeys||[],i=F.value.filter(t=>t!==e);if(t)i.push(e);else if(L.value!==`inline`){let e=ce(n(r));i=G(i.filter(t=>!e.includes(t)))}J(F,i)||B(i)},fe=(e,t)=>{C.value.set(e,t),C.value=new Map(C.value)},pe=e=>{C.value.delete(e),C.value=new Map(C.value)},me=i(0),he=f(()=>e.expandIcon||a.expandIcon||v?.expandIcon?.value?t=>{let n=e.expandIcon||a.expandIcon;return n=typeof n==`function`?n(t):n,W(n,{class:`${y.value}-submenu-expand-icon`},!1)}:null);ke({prefixCls:y,activeKeys:O,openKeys:F,selectedKeys:k,changeActiveKeys:ne,disabled:re,rtl:I,mode:L,inlineIndent:f(()=>e.inlineIndent),subMenuCloseDelay:f(()=>e.subMenuCloseDelay),subMenuOpenDelay:f(()=>e.subMenuOpenDelay),builtinPlacements:f(()=>e.builtinPlacements),triggerSubMenuAction:f(()=>e.triggerSubMenuAction),getPopupContainer:f(()=>e.getPopupContainer),inlineCollapsed:R,theme:f(()=>e.theme),siderCollapsed:w,defaultMotions:f(()=>D.value?U.value:null),motion:f(()=>D.value?e.motion:null),overflowDisabled:r(void 0),onOpenChange:ue,onItemClick:le,registerMenuInfo:fe,unRegisterMenuInfo:pe,selectedSubMenuKeys:N,expandIcon:he,forceSubMenuRender:f(()=>e.forceSubMenuRender),rootClassName:S});let ge=()=>E.value||j(a.default?.call(a));return()=>{let t=ge(),n=me.value>=t.length-1||L.value!==`horizontal`||e.disabledOverflow,r=t=>L.value!==`horizontal`||e.disabledOverflow?t:t.map((e,t)=>d(Ie,{key:e.key,overflowDisabled:t>me.value},{default:()=>e})),i=a.overflowedIndicator?.call(a)||d(Ce,null,null);return b(d(ie,x(x({},c),{},{onMousedown:e.onMousedown,prefixCls:`${y.value}-overflow`,component:`ul`,itemComponent:X,class:[se.value,c.class,S.value],role:`menu`,id:e.id,data:r(t),renderRawItem:e=>e,renderRawRest:e=>{let r=e.length,a=r?t.slice(-r):null;return d(m,null,[d(Q,{eventKey:ze,key:ze,title:i,disabled:n,internalPopupClose:r===0},{default:()=>a}),d(We,null,{default:()=>[d(Q,{eventKey:ze,key:ze,title:i,disabled:n,internalPopupClose:r===0},{default:()=>a})]})])},maxCount:L.value!==`horizontal`||e.disabledOverflow?ie.INVALIDATE:ie.RESPONSIVE,ssr:`full`,"data-menu-list":!0,onVisibleChange:e=>{me.value=e}}),{default:()=>[d(g,{to:`body`},{default:()=>[d(`div`,{style:{display:`none`},"aria-hidden":!0},[d(We,null,{default:()=>[r(ge())]})])]})]}))}}});$.install=function(e){return e.component($.name,$),e.component(X.name,X),e.component(Q.name,Q),e.component(nt.name,nt),e.component(tt.name,tt),e},$.Item=X,$.Divider=nt,$.SubMenu=Q,$.ItemGroup=tt;var vt=$;export{Re as a,Ce as c,Le as i,ye as l,nt as n,J as o,X as r,Ee as s,vt as t};
|