zen-gitsync 2.19.8 → 2.19.9
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/README.md +1 -1
- package/package.json +3 -1
- package/src/ui/public/assets/AgentView-BRSZKJfA.css +1 -0
- package/src/ui/public/assets/AgentView-CR5usdnH.js +46 -0
- package/src/ui/public/assets/AppVersionBadge-BHHCcK4D.js +2 -0
- package/src/ui/public/assets/{AppVersionBadge-Ct7s9klu.css → AppVersionBadge-BX4JDHtP.css} +1 -1
- package/src/ui/public/assets/BranchSelector-CXCOcQdJ.js +4 -0
- package/src/ui/public/assets/BranchSelector-F4ibldMN.css +1 -0
- package/src/ui/public/assets/CommitForm-CZmDbdjy.css +1 -0
- package/src/ui/public/assets/CommitForm-DgU5ceFS.js +19 -0
- package/src/ui/public/assets/CommonDialog-BK-EP7t_.js +1 -0
- package/src/ui/public/assets/CommonDialog-w6EmBEXv.css +1 -0
- package/src/ui/public/assets/EditorView-5E2HoEPA.js +11 -0
- package/src/ui/public/assets/EditorView-DCe3Zd1T.css +1 -0
- package/src/ui/public/assets/FlowExecutionViewer-X1ZAwtUs.js +1 -0
- package/src/ui/public/assets/FlowExecutionViewer-jNHI5zdm.css +1 -0
- package/src/ui/public/assets/FlowOrchestrationWorkspace-BuDFxeDm.js +21 -0
- package/src/ui/public/assets/{FlowOrchestrationWorkspace-y58xFQli.css → FlowOrchestrationWorkspace-Cmz-2kXx.css} +1 -1
- package/src/ui/public/assets/IconButton-Ca_axHSP.css +1 -0
- package/src/ui/public/assets/IconButton-rWXbHMlj.js +1 -0
- package/src/ui/public/assets/LogList-2uilXsDH.js +7 -0
- package/src/ui/public/assets/LogList-mx0vNycQ.css +1 -0
- package/src/ui/public/assets/MindmapView-BCC9REDW.css +1 -0
- package/src/ui/public/assets/MindmapView-Dc70h590.js +2 -0
- package/src/ui/public/assets/MonacoDiffViewer-DmY_9w3f.js +2 -0
- package/src/ui/public/assets/MonacoDiffViewer-OeHzOcJT.css +1 -0
- package/src/ui/public/assets/MonacoEditor-B51BvXN7.js +2 -0
- package/src/ui/public/assets/MonacoEditor-Bfmsc0eP.css +1 -0
- package/src/ui/public/assets/MonitorView-1wNAygfd.js +3 -0
- package/src/ui/public/assets/{MonitorView-GIgcNrpD.css → MonitorView-B55J58oZ.css} +1 -1
- package/src/ui/public/assets/ProjectManagerView-BDMDqu3Q.js +10 -0
- package/src/ui/public/assets/ProjectManagerView-BPnAWNBJ.css +1 -0
- package/src/ui/public/assets/ProjectStartupButton-D1vkpfo0.js +1 -0
- package/src/ui/public/assets/ProjectStartupButton-pw0T64va.css +1 -0
- package/src/ui/public/assets/RemoteManagerDialog-7wO9c5YX.js +4 -0
- package/src/ui/public/assets/RemoteManagerDialog-CR_UOc7g.css +1 -0
- package/src/ui/public/assets/RemoteRepoCard-46FT5fIA.js +7 -0
- package/src/ui/public/assets/RemoteRepoCard-o01IrbVz.css +1 -0
- package/src/ui/public/assets/SourceMapView-BTBl_dQF.js +16 -0
- package/src/ui/public/assets/SourceMapView-BYzPczgV.css +1 -0
- package/src/ui/public/assets/{SvgIcon-BQ6bR7l0.css → SvgIcon-CDNsk4-Q.css} +1 -1
- package/src/ui/public/assets/SvgIcon-CdV2Vf7y.js +1 -0
- package/src/ui/public/assets/{TemplateManager-Dn5A-o9I.css → TemplateManager-DtDpRU-r.css} +1 -1
- package/src/ui/public/assets/TemplateManager-Xw10gkAg.js +1 -0
- package/src/ui/public/assets/UserInputNode-BtDF3aoX.js +1 -0
- package/src/ui/public/assets/UserInputNode-CaYsfbJq.css +1 -0
- package/src/ui/public/assets/WorkbenchView-DKm1nASZ.css +1 -0
- package/src/ui/public/assets/WorkbenchView-DP7JxjQs.js +397 -0
- package/src/ui/public/assets/_plugin-vue_export-helper-iXNJ6JSE.js +1 -0
- package/src/ui/public/assets/{abnfDiagram-VCTEODGH-ChA5oDs2.js → abnfDiagram-VCTEODGH-9BmTgIB0.js} +1 -1
- package/src/ui/public/assets/architecture-7GRP2DOG-DlkuS1af.js +1 -0
- package/src/ui/public/assets/{architectureDiagram-5GKGNRK7-62mYFGCE.js → architectureDiagram-5GKGNRK7-M_VCUB78.js} +1 -1
- package/src/ui/public/assets/{blockDiagram-I7D4REHJ-wLpwzhBJ.js → blockDiagram-I7D4REHJ-Djm1wJGG.js} +1 -1
- package/src/ui/public/assets/{c4Diagram-7LVT6UL2-XZx8JHL8.js → c4Diagram-7LVT6UL2-CuX13vZ-.js} +1 -1
- package/src/ui/public/assets/channel-vbR9N9U-.js +1 -0
- package/src/ui/public/assets/checkbox-B7YbNGuH.js +1 -0
- package/src/ui/public/assets/{chunk-4HAMMTFA-CFFbJkK0.js → chunk-4HAMMTFA-DAZqGrza.js} +1 -1
- package/src/ui/public/assets/{chunk-75Z2AOVW-DQtYeQr5.js → chunk-75Z2AOVW-_W5tuIwa.js} +1 -1
- package/src/ui/public/assets/{chunk-DU6HZSFF-2F8cLTjH.js → chunk-DU6HZSFF-yMMoBTo7.js} +1 -1
- package/src/ui/public/assets/{chunk-F27PBJKO-Bo076A-I.js → chunk-F27PBJKO-D3tdEy9d.js} +1 -1
- package/src/ui/public/assets/{chunk-GMAD6QVW-FuFwI_Oi.js → chunk-GMAD6QVW-Due4bpzp.js} +1 -1
- package/src/ui/public/assets/{chunk-GVQU2GXP-CV8ZMXP4.js → chunk-GVQU2GXP-BBBf3tdJ.js} +1 -1
- package/src/ui/public/assets/{chunk-IMKFNOWR-kx_YRlPF.js → chunk-IMKFNOWR-BdNGOHkD.js} +1 -1
- package/src/ui/public/assets/{chunk-L3NEJ4N5-C8tgpiPP.js → chunk-L3NEJ4N5-ATCHpAfZ.js} +1 -1
- package/src/ui/public/assets/{chunk-OSK3NFVY-C6c3NtM_.js → chunk-OSK3NFVY-BH7eo5Tf.js} +1 -1
- package/src/ui/public/assets/{chunk-P2QGCYS3-B80r0Q9v.js → chunk-P2QGCYS3-DTr4IL_e.js} +1 -1
- package/src/ui/public/assets/{chunk-POPQ4Y6H-Do7M9MiP.js → chunk-POPQ4Y6H-BaV7NNDh.js} +1 -1
- package/src/ui/public/assets/{chunk-PWAF6VOD-CSbxmz13.js → chunk-PWAF6VOD-D3SA0mzG.js} +1 -1
- package/src/ui/public/assets/{chunk-SHT3W25Y-CcjtRGjI.js → chunk-SHT3W25Y-B0R4yLS8.js} +1 -1
- package/src/ui/public/assets/{chunk-SVP7TREG-Di_ciK9x.js → chunk-SVP7TREG-DIMcJWWD.js} +1 -1
- package/src/ui/public/assets/{chunk-TICWLB2K-0CfG2yxE.js → chunk-TICWLB2K-HdKmxWOg.js} +1 -1
- package/src/ui/public/assets/classDiagram-ZZMXUADV-D3NlOWpc.js +1 -0
- package/src/ui/public/assets/classDiagram-v2-VYDZK3BY-D3NlOWpc.js +1 -0
- package/src/ui/public/assets/{configStore-DzSV1BYm.js → configStore-Bu9Y7yi8.js} +2 -2
- package/src/ui/public/assets/css-B0yAvfNS.js +1 -0
- package/src/ui/public/assets/{css-DqcEMNnr.js → css-BNFbzzrw.js} +11 -8
- package/src/ui/public/assets/css-COonD8vo.js +5 -0
- package/src/ui/public/assets/css-CeOw7pBa.js +1 -0
- package/src/ui/public/assets/css-DHMJKOSk.js +1 -0
- package/src/ui/public/assets/css-DUZNM4Y2.js +1 -0
- package/src/ui/public/assets/css-DUozUjEY.js +1 -0
- package/src/ui/public/assets/{css-B6iB_IBc.js → css-DY0EjKnI.js} +1 -1
- package/src/ui/public/assets/css-DuOCaNNA.js +1 -0
- package/src/ui/public/assets/css-Dv_BkLAU.js +1 -0
- package/src/ui/public/assets/css-LiAyzznX.js +1 -0
- package/src/ui/public/assets/css-ltJ3T38X.js +1 -0
- package/src/ui/public/assets/css-zjLlfHGW.js +1 -0
- package/src/ui/public/assets/{cssMode-DjTbS4Wq.js → cssMode-hbRIlUMk.js} +1 -1
- package/src/ui/public/assets/{cynefin-OW5HDTMX-B7yxXktH.js → cynefin-OW5HDTMX-t2yRwCcY.js} +1 -1
- package/src/ui/public/assets/{cynefinDiagram-5FMLGOSQ-CmnybSAP.js → cynefinDiagram-5FMLGOSQ-C2e7HWCJ.js} +1 -1
- package/src/ui/public/assets/{dagre-GXQ25YYZ-CoXdn31O.js → dagre-GXQ25YYZ-C9a9pURj.js} +1 -1
- package/src/ui/public/assets/{diagram-S7CK7UJ4-Dn_nD9gA.js → diagram-S7CK7UJ4-Cm-RU4j0.js} +1 -1
- package/src/ui/public/assets/{diagram-UQ7AKVKN-BIi5ZTzR.js → diagram-UQ7AKVKN-DWRHvZqO.js} +1 -1
- package/src/ui/public/assets/{diagram-VSXAHHWV-B6VAL5Zj.js → diagram-VSXAHHWV-DHPokpBs.js} +1 -1
- package/src/ui/public/assets/{diagram-VX7I27RA-isKTV1kf.js → diagram-VX7I27RA-CwF3R0ac.js} +1 -1
- package/src/ui/public/assets/{diagram-Z3DM3KII-CCMf2rm-.js → diagram-Z3DM3KII-DIVaf_QG.js} +1 -1
- package/src/ui/public/assets/{dropdown-BavttwJK.js → dropdown-CtU-luuS.js} +1 -1
- package/src/ui/public/assets/{ebnfDiagram-PWID7BFC-BsbZk3o3.js → ebnfDiagram-PWID7BFC-Du4bymdU.js} +1 -1
- package/src/ui/public/assets/{editor.main-CdUvhqnN.js → editor.main-CMmnTvm1.js} +2 -2
- package/src/ui/public/assets/empty-BsRc9htE.js +1 -0
- package/src/ui/public/assets/{erDiagram-RLTQ6QDP-BJhHfI6b.js → erDiagram-RLTQ6QDP-Bgccqyp8.js} +1 -1
- package/src/ui/public/assets/eventmodeling-NTZA5JFV-BojrOVAZ.js +1 -0
- package/src/ui/public/assets/file-picker-Gn9LzhB0.js +1 -0
- package/src/ui/public/assets/flowDiagram-HODETNUW-C5_mSTs9.js +1 -0
- package/src/ui/public/assets/{ganttDiagram-EL5Y4UJY-z_PhL7PF.js → ganttDiagram-EL5Y4UJY-B1jLr_ff.js} +1 -1
- package/src/ui/public/assets/{gitGraph-4MIJSDKK-C-8-T-QE.js → gitGraph-4MIJSDKK-CEtzqNOb.js} +1 -1
- package/src/ui/public/assets/{gitGraphDiagram-WWUBYQGX-neC7vfjM.js → gitGraphDiagram-WWUBYQGX-DYxRWDG1.js} +1 -1
- package/src/ui/public/assets/{htmlMode-CORVBMgh.js → htmlMode-Ci1PugwK.js} +1 -1
- package/src/ui/public/assets/{index-AOD6hKOd.css → index-BJM2x7X4.css} +1 -1
- package/src/ui/public/assets/index-C1m5EhFo.js +399 -0
- package/src/ui/public/assets/{info-A6RAGUB7-oSUydmXL.js → info-A6RAGUB7-B2CPEMrg.js} +1 -1
- package/src/ui/public/assets/{infoDiagram-27XIBGKW-CHh9KJ6J.js → infoDiagram-27XIBGKW-DcBDWrbC.js} +1 -1
- package/src/ui/public/assets/{ishikawaDiagram-5VMMS53U-a3TkIBT6.js → ishikawaDiagram-5VMMS53U-BcrzKNax.js} +1 -1
- package/src/ui/public/assets/{journeyDiagram-3NMN7TZE-B_yxlGTt.js → journeyDiagram-3NMN7TZE-DB6vqC8g.js} +1 -1
- package/src/ui/public/assets/{jsonMode-5N-oul1n.js → jsonMode-gqPTLeA3.js} +1 -1
- package/src/ui/public/assets/{kanban-definition-UXKFOSKX-C_JW8O7H.js → kanban-definition-UXKFOSKX-CV70bZlu.js} +1 -1
- package/src/ui/public/assets/{lib-DqOQiVl9.js → lib-C043e2hc.js} +1 -1
- package/src/ui/public/assets/lib-CQSScEg5.js +10 -0
- package/src/ui/public/assets/{lib-CpAs2Wj-.js → lib-DvKbuLjs.js} +1 -1
- package/src/ui/public/assets/lib-aDQlNW-L.js +74 -0
- package/src/ui/public/assets/{line-B1cJ2uj_.js → line-12OdRdcE.js} +1 -1
- package/src/ui/public/assets/{mermaid-parser.core-qyaZuPY1.js → mermaid-parser.core-C3pC5XqX.js} +3 -3
- package/src/ui/public/assets/{mermaid.core-BnwRGK85.js → mermaid.core-DT2IMBeS.js} +4 -4
- package/src/ui/public/assets/message-box-CXom4_oM.js +1 -0
- package/src/ui/public/assets/{mindmap-definition-YA3MSWOX-CedMhfH_.js → mindmap-definition-YA3MSWOX-Bz7FDKXU.js} +1 -1
- package/src/ui/public/assets/overlay-BLdJhxTh.js +3 -0
- package/src/ui/public/assets/{packet-AYTQ26CC-BY3WwKkj.js → packet-AYTQ26CC-Bb_El6Ek.js} +1 -1
- package/src/ui/public/assets/{pegDiagram-XKGWAZYB-BIUio9w_.js → pegDiagram-XKGWAZYB-_UGvHWjY.js} +1 -1
- package/src/ui/public/assets/{pie-WAS4IAKB-DBmbJ4Ci.js → pie-WAS4IAKB-CEyQz8oV.js} +1 -1
- package/src/ui/public/assets/{pieDiagram-E7YTZNPT-DlWPQ8tP.js → pieDiagram-E7YTZNPT-Cp0hcHv1.js} +1 -1
- package/src/ui/public/assets/pinia-B1dVyVSb.js +5 -0
- package/src/ui/public/assets/{quadrantDiagram-AXDQQJYC-DtkxMT2U.js → quadrantDiagram-AXDQQJYC-D3P8RRGn.js} +1 -1
- package/src/ui/public/assets/{radar-RG4KPBEZ-BLAgIhup.js → radar-RG4KPBEZ-Ct7UV-yn.js} +1 -1
- package/src/ui/public/assets/{railroad-74A4TZTK-BkwLxF0x.js → railroad-74A4TZTK-BG1IrPR6.js} +1 -1
- package/src/ui/public/assets/railroad-abnf-HS5TGJTU-CRhndnlq.js +1 -0
- package/src/ui/public/assets/railroad-ebnf-LZEXJU2U-CkTh9H6T.js +1 -0
- package/src/ui/public/assets/railroad-peg-WCYAUIDC-DgqvJCaH.js +1 -0
- package/src/ui/public/assets/{railroadDiagram-O6MQD6OU-BtCF9aCR.js → railroadDiagram-O6MQD6OU-DKQlif8Z.js} +1 -1
- package/src/ui/public/assets/{relativeTime-B8664fn0.js → relativeTime-D99DdDf4.js} +1 -1
- package/src/ui/public/assets/{repeat-click-BIbf_jnH.js → repeat-click-B7DOHmvB.js} +1 -1
- package/src/ui/public/assets/{requirementDiagram-BXWQKSXE-h7P36yGJ.js → requirementDiagram-BXWQKSXE-Rd_wG9uK.js} +1 -1
- package/src/ui/public/assets/runtime-dom.esm-bundler-BicOLibD.js +25 -0
- package/src/ui/public/assets/{sankeyDiagram-P5KCCOFB-tOr_1xic.js → sankeyDiagram-P5KCCOFB-BLL_Ya-r.js} +1 -1
- package/src/ui/public/assets/scrollbar-BFArGC-B.js +1 -0
- package/src/ui/public/assets/select-B1mzQ7WN.js +1 -0
- package/src/ui/public/assets/{sequenceDiagram-WJ2MYXX4-BfQLLi3B.js → sequenceDiagram-WJ2MYXX4-CnEAZGeL.js} +1 -1
- package/src/ui/public/assets/{stateDiagram-D77RDMKH-BBSAJdXV.js → stateDiagram-D77RDMKH-ButJt2r0.js} +1 -1
- package/src/ui/public/assets/stateDiagram-v2-MP3YSRHH-DfWAkCkk.js +1 -0
- package/src/ui/public/assets/{swimlanes-42K2YHIH-DNgBV8QY.js → swimlanes-42K2YHIH-CkJuu_tI.js} +1 -1
- package/src/ui/public/assets/swimlanesDiagram-VR7AAH4N-BnHmf8d6.js +8 -0
- package/src/ui/public/assets/table-DydILIY8.js +1 -0
- package/src/ui/public/assets/tag-B4v4gfl_.js +1 -0
- package/src/ui/public/assets/{taskExecutionExport-CkmJ2TPt.js → taskExecutionExport-CfnqRWvh.js} +12 -12
- package/src/ui/public/assets/{taskExecutionExport-BW-iMfDj.css → taskExecutionExport-Ct3WPeis.css} +1 -1
- package/src/ui/public/assets/{timeline-definition-24CTP7MA-cg7CFdnn.js → timeline-definition-24CTP7MA-K3R4Ikor.js} +1 -1
- package/src/ui/public/assets/{toolsStore-AtvXNDnx.js → toolsStore-BTA83WTy.js} +1 -1
- package/src/ui/public/assets/{treeView-Q6P3EWNA-B9UM19dT.js → treeView-Q6P3EWNA-C29hh9uK.js} +1 -1
- package/src/ui/public/assets/{treemap-WGGIJYW6-d4-stV9I.js → treemap-WGGIJYW6-CHDwdfMX.js} +1 -1
- package/src/ui/public/assets/{tsMode-DtEE5Q2d.js → tsMode-Cy0CWBnf.js} +1 -1
- package/src/ui/public/assets/useWorkbenchProjects-9dWumVO1.css +1 -0
- package/src/ui/public/assets/useWorkbenchProjects-C14Jw1yS.js +9 -0
- package/src/ui/public/assets/{vennDiagram-4TSXK5OY-C6UZLLEC.js → vennDiagram-4TSXK5OY-BSCgY5MN.js} +1 -1
- package/src/ui/public/assets/vue-flow-controls-zeko7WMo.js +26 -0
- package/src/ui/public/assets/{wardley-WFR3VGLG-CPJl3V1e.js → wardley-WFR3VGLG-CsM9MTWy.js} +1 -1
- package/src/ui/public/assets/{wardleyDiagram-VM6X3IG4-BCT1k7hd.js → wardleyDiagram-VM6X3IG4-HBJSanUr.js} +1 -1
- package/src/ui/public/assets/{xychartDiagram-S5SC5T6Z-B_7qu4Hj.js → xychartDiagram-S5SC5T6Z-CT-wpDt-.js} +1 -1
- package/src/ui/public/index.html +38 -38
- package/src/ui/server/routes/workbench/index.js +97 -1
- package/src/ui/server/routes/workbench/projectRegistry.js +34 -7
- package/src/ui/server/routes/workbench/replyTriage.js +381 -0
- package/src/ui/server/routes/workbench/shared.js +12 -0
- package/src/ui/server/routes/workbench/taskRunner.js +9 -6
- package/src/ui/public/assets/AgentView-CrW73qMr.js +0 -15
- package/src/ui/public/assets/AgentView-D5MiIZuz.css +0 -1
- package/src/ui/public/assets/AppVersionBadge-B3bjwS49.js +0 -2
- package/src/ui/public/assets/BranchSelector-B4jxlVma.js +0 -1
- package/src/ui/public/assets/BranchSelector-BHbCgJEE.css +0 -1
- package/src/ui/public/assets/CommitForm-CydgbA2C.css +0 -1
- package/src/ui/public/assets/CommitForm-nML0Hd7l.js +0 -2
- package/src/ui/public/assets/CommonDialog-Bzi5ISqT.css +0 -1
- package/src/ui/public/assets/CommonDialog-Xczdxiq2.js +0 -1
- package/src/ui/public/assets/EditorView-BXFaXYHN.css +0 -1
- package/src/ui/public/assets/EditorView-DzsMTIKX.js +0 -1
- package/src/ui/public/assets/FlowExecutionViewer-B5kh7VxS.css +0 -1
- package/src/ui/public/assets/FlowExecutionViewer-DXJpoonX.js +0 -1
- package/src/ui/public/assets/FlowOrchestrationWorkspace-DDTd023p.js +0 -21
- package/src/ui/public/assets/IconButton-CTVZizUz.js +0 -1
- package/src/ui/public/assets/IconButton-DmetnIEM.css +0 -1
- package/src/ui/public/assets/LogList-CdbfO-Vy.js +0 -7
- package/src/ui/public/assets/LogList-DViWAYe9.css +0 -1
- package/src/ui/public/assets/MindmapView-CohUDqAD.css +0 -1
- package/src/ui/public/assets/MindmapView-D1pNx2gE.js +0 -1
- package/src/ui/public/assets/MonacoDiffViewer-CJkqe7R6.css +0 -1
- package/src/ui/public/assets/MonacoDiffViewer-DOAyDjNA.js +0 -2
- package/src/ui/public/assets/MonacoEditor-BXELa4Z1.css +0 -1
- package/src/ui/public/assets/MonacoEditor-DF9Sx8uD.js +0 -2
- package/src/ui/public/assets/MonitorView-DvSXxpuz.js +0 -1
- package/src/ui/public/assets/ProjectManagerView-BFTSvt7X.css +0 -1
- package/src/ui/public/assets/ProjectManagerView-Bv15QOWG.js +0 -1
- package/src/ui/public/assets/ProjectStartupButton-BZYOKfYI.js +0 -1
- package/src/ui/public/assets/ProjectStartupButton-CYJNbO_s.css +0 -1
- package/src/ui/public/assets/RemoteManagerDialog-DecRuME6.css +0 -1
- package/src/ui/public/assets/RemoteManagerDialog-m4xHH1i1.js +0 -1
- package/src/ui/public/assets/RemoteRepoCard-BMHjSbhD.js +0 -1
- package/src/ui/public/assets/RemoteRepoCard-Bud571e2.css +0 -1
- package/src/ui/public/assets/SourceMapView-CyRaXNRJ.js +0 -16
- package/src/ui/public/assets/SourceMapView-W3kEDGi8.css +0 -1
- package/src/ui/public/assets/SvgIcon-BhcuOgBu.js +0 -1
- package/src/ui/public/assets/TemplateManager-v_HdR3uT.js +0 -1
- package/src/ui/public/assets/UserInputNode-4Dz76KjZ.js +0 -1
- package/src/ui/public/assets/UserInputNode-wfqZIucW.css +0 -1
- package/src/ui/public/assets/WorkbenchView-BLHw8-bZ.css +0 -1
- package/src/ui/public/assets/WorkbenchView-BmhoLXyf.js +0 -6
- package/src/ui/public/assets/_plugin-vue_export-helper-C-FFoFVt.js +0 -1
- package/src/ui/public/assets/architecture-7GRP2DOG-BWMpt-wx.js +0 -1
- package/src/ui/public/assets/channel-Bv1i9WZP.js +0 -1
- package/src/ui/public/assets/checkbox-bGrNAhEe.js +0 -1
- package/src/ui/public/assets/classDiagram-ZZMXUADV-C1yU0S1P.js +0 -1
- package/src/ui/public/assets/classDiagram-v2-VYDZK3BY-C1yU0S1P.js +0 -1
- package/src/ui/public/assets/css-97U79mqY.js +0 -1
- package/src/ui/public/assets/css-9c4ARN8B.js +0 -1
- package/src/ui/public/assets/css-BO8scIW3.js +0 -1
- package/src/ui/public/assets/css-C5Ep_hUU.js +0 -5
- package/src/ui/public/assets/css-DA1Hkb0c.js +0 -1
- package/src/ui/public/assets/css-DBfNr0B8.js +0 -1
- package/src/ui/public/assets/css-DUoOEAIc.js +0 -1
- package/src/ui/public/assets/css-DcJScsU6.js +0 -1
- package/src/ui/public/assets/css-DgfxjIuW.js +0 -1
- package/src/ui/public/assets/css-GGntyoo4.js +0 -1
- package/src/ui/public/assets/css-svLaNjH3.js +0 -1
- package/src/ui/public/assets/empty-DYtkD7dz.js +0 -1
- package/src/ui/public/assets/eventmodeling-NTZA5JFV-CuIdpoaV.js +0 -1
- package/src/ui/public/assets/file-picker-DIldo8KL.js +0 -1
- package/src/ui/public/assets/flowDiagram-HODETNUW-DWnAtNvY.js +0 -1
- package/src/ui/public/assets/index-CyaDtSLw.js +0 -215
- package/src/ui/public/assets/lib-BkKP8HsA.js +0 -9
- package/src/ui/public/assets/lib-DHw1U3Aw.js +0 -60
- package/src/ui/public/assets/message-box-B-scWapo.js +0 -1
- package/src/ui/public/assets/overlay-hK0FJjVv.js +0 -3
- package/src/ui/public/assets/pinia-BPF12Yrb.js +0 -1
- package/src/ui/public/assets/railroad-abnf-HS5TGJTU-Dec5uKlc.js +0 -1
- package/src/ui/public/assets/railroad-ebnf-LZEXJU2U-DFXH-gfF.js +0 -1
- package/src/ui/public/assets/railroad-peg-WCYAUIDC-D15mQk0-.js +0 -1
- package/src/ui/public/assets/runtime-dom.esm-bundler-CwnCPTno.js +0 -5
- package/src/ui/public/assets/scrollbar-B3cTlIQS.js +0 -1
- package/src/ui/public/assets/select-C6NmiyE8.js +0 -1
- package/src/ui/public/assets/stateDiagram-v2-MP3YSRHH-Bv-sCrPA.js +0 -1
- package/src/ui/public/assets/swimlanesDiagram-VR7AAH4N-CV5_GTGx.js +0 -8
- package/src/ui/public/assets/table-Y7ONhuJj.js +0 -1
- package/src/ui/public/assets/tag-D5DStZq7.js +0 -1
- package/src/ui/public/assets/useWorkbenchProjects-ClDzjpmk.js +0 -1
- package/src/ui/public/assets/useWorkbenchProjects-oOV26kNH.css +0 -1
- package/src/ui/public/assets/vue-flow-controls-d97G_mZX.js +0 -26
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-Bd6kVAy5.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f,z as p}from"./chunk-DU6HZSFF-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-Bd6kVAy5.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f,z as p}from"./chunk-DU6HZSFF-yMMoBTo7.js";import{t as m}from"./linear-hI3v5eMH.js";import{t as h}from"./ordinal-BDEzSJ7C.js";import{t as g}from"./init-C-OQMol4.js";import{i as _}from"./chunk-75Z2AOVW-_W5tuIwa.js";import{t as v}from"./line-12OdRdcE.js";import"./chunk-PWAF6VOD-D3SA0mzG.js";import{t as y}from"./chunk-GMAD6QVW-Due4bpzp.js";import{f as b}from"./mermaid.core-DT2IMBeS.js";function x(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function S(){var e=h().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=x(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return S(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},g.apply(d(),arguments)}var C=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,10,12,14,16,18,19,21,23],r=[2,6],i=[1,3],a=[1,5],o=[1,6],s=[1,7],c=[1,5,10,12,14,16,18,19,21,23,36,37,38],l=[1,25],u=[1,26],d=[1,28],f=[1,29],p=[1,30],m=[1,31],h=[1,32],g=[1,33],_=[1,34],v=[1,35],y=[1,36],b=[1,37],x=[1,43],S=[1,42],C=[1,47],w=[1,50],T=[1,10,12,14,16,18,19,21,23,36,37,38],E=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],D=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],O=[1,65],k=[26,28],A={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:`error`,5:`XYCHART`,8:`CHART_ORIENTATION`,10:`title`,12:`X_AXIS`,14:`Y_AXIS`,16:`LINE`,18:`BAR`,19:`acc_title`,20:`acc_title_value`,21:`acc_descr`,22:`acc_descr_value`,23:`acc_descr_multiline_value`,24:`SQUARE_BRACES_START`,26:`SQUARE_BRACES_END`,28:`COMMA`,29:`NUMBER_WITH_DECIMAL`,30:`STR`,33:`ARROW_DELIMITER`,36:`NEWLINE`,37:`SEMI`,38:`EOF`,40:`MD_STR`,42:`AMP`,43:`NUM`,44:`ALPHA`,45:`PLUS`,46:`EQUALS`,47:`MULT`,48:`DOT`,49:`BRKT`,50:`MINUS`,51:`UNDERSCORE`},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.setOrientation(a[s]);break;case 9:r.setDiagramTitle(a[s].text.trim());break;case 12:r.setLineData({text:``,type:`text`},a[s]);break;case 13:r.setLineData(a[s-1],a[s]);break;case 14:r.setBarData({text:``,type:`text`},a[s]);break;case 15:r.setBarData(a[s-1],a[s]);break;case 16:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 19:this.$=a[s-1];break;case 20:case 30:this.$=[a[s-2],...a[s]];break;case 21:case 31:this.$=[a[s]];break;case 22:this.$={value:Number(a[s-1]),label:a[s]};break;case 23:this.$={value:Number(a[s]),label:``};break;case 24:r.setXAxisTitle(a[s]);break;case 25:r.setXAxisTitle(a[s-1]);break;case 26:r.setXAxisTitle({type:`text`,text:``});break;case 27:r.setXAxisBand(a[s]);break;case 28:r.setXAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 29:this.$=a[s-1];break;case 32:r.setYAxisTitle(a[s]);break;case 33:r.setYAxisTitle(a[s-1]);break;case 34:r.setYAxisTitle({type:`text`,text:``});break;case 35:r.setYAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 39:this.$={text:a[s],type:`text`};break;case 40:this.$={text:a[s],type:`text`};break;case 41:this.$={text:a[s],type:`markdown`};break;case 42:this.$=a[s];break;case 43:this.$=a[s-1]+``+a[s]}},`anonymous`),table:[t(n,r,{3:1,4:2,7:4,5:i,36:a,37:o,38:s}),{1:[3]},t(n,r,{4:2,7:4,3:8,5:i,36:a,37:o,38:s}),t(n,r,{4:2,7:4,6:9,3:10,5:i,8:[1,11],36:a,37:o,38:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(c,[2,36]),t(c,[2,37]),t(c,[2,38]),{1:[2,1]},t(n,r,{4:2,7:4,3:21,5:i,36:a,37:o,38:s}),{1:[2,3]},t(c,[2,5]),t(n,[2,7],{4:22,36:a,37:o,38:s}),{11:23,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:39,13:38,24:x,29:S,30:l,31:40,32:41,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:45,15:44,29:C,30:l,35:46,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:49,17:48,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:52,17:51,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{20:[1,53]},{22:[1,54]},t(T,[2,18]),{1:[2,2]},t(T,[2,8]),t(T,[2,9]),t(E,[2,39],{41:55,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b}),t(E,[2,40]),t(E,[2,41]),t(D,[2,42]),t(D,[2,44]),t(D,[2,45]),t(D,[2,46]),t(D,[2,47]),t(D,[2,48]),t(D,[2,49]),t(D,[2,50]),t(D,[2,51]),t(D,[2,52]),t(D,[2,53]),t(T,[2,10]),t(T,[2,24],{32:41,31:56,24:x,29:S}),t(T,[2,26]),t(T,[2,27]),{33:[1,57]},{11:59,30:l,34:58,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,11]),t(T,[2,32],{35:60,29:C}),t(T,[2,34]),{33:[1,61]},t(T,[2,12]),{17:62,24:w},{25:63,27:64,29:O},t(T,[2,14]),{17:66,24:w},t(T,[2,16]),t(T,[2,17]),t(D,[2,43]),t(T,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(T,[2,33]),{29:[1,70]},t(T,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(k,[2,23],{30:[1,73]}),t(T,[2,15]),t(T,[2,28]),t(T,[2,29]),{11:59,30:l,34:74,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,35]),t(T,[2,19]),{25:75,27:64,29:O},t(k,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
2
2
|
`+h.showPosition()+`
|
|
3
3
|
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};A.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
package/src/ui/public/index.html
CHANGED
|
@@ -10,19 +10,19 @@
|
|
|
10
10
|
<meta name="theme-color" content="#141820" media="(prefers-color-scheme: dark)" />
|
|
11
11
|
<title>Zen GitSync</title>
|
|
12
12
|
<!-- 字体改为自托管(@font-face 见 src/main.css),不再依赖 Google Fonts 外链 -->
|
|
13
|
-
<script type="module" crossorigin src="/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/assets/index-C1m5EhFo.js"></script>
|
|
14
14
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-C0FnF6B9.js">
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/runtime-dom.esm-bundler-
|
|
16
|
-
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/pinia-
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/runtime-dom.esm-bundler-BicOLibD.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-iXNJ6JSE.js">
|
|
17
|
+
<link rel="modulepreload" crossorigin href="/assets/pinia-B1dVyVSb.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="/assets/_baseIsEqual-DKFjNYN5.js">
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/_baseSet-BkxxF_Gr.js">
|
|
20
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
20
|
+
<link rel="modulepreload" crossorigin href="/assets/css-BNFbzzrw.js">
|
|
21
21
|
<link rel="modulepreload" crossorigin href="/assets/toNumber-I3NrIGqQ.js">
|
|
22
22
|
<link rel="modulepreload" crossorigin href="/assets/isUndefined-0i-t4rCp.js">
|
|
23
23
|
<link rel="modulepreload" crossorigin href="/assets/pick-Bsiypjcl.js">
|
|
24
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
25
|
-
<link rel="modulepreload" crossorigin href="/assets/overlay-
|
|
24
|
+
<link rel="modulepreload" crossorigin href="/assets/css-COonD8vo.js">
|
|
25
|
+
<link rel="modulepreload" crossorigin href="/assets/overlay-BLdJhxTh.js">
|
|
26
26
|
<link rel="modulepreload" crossorigin href="/assets/_arrayEach-D_HpLtqV.js">
|
|
27
27
|
<link rel="modulepreload" crossorigin href="/assets/_baseClone-CfV1YKV8.js">
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/last-OBmz3jT8.js">
|
|
@@ -34,50 +34,50 @@
|
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/toInteger-raEEv1-A.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/_baseFindIndex-DJTbU7Iu.js">
|
|
36
36
|
<link rel="modulepreload" crossorigin href="/assets/_baseIteratee-B9C0NNOY.js">
|
|
37
|
-
<link rel="modulepreload" crossorigin href="/assets/scrollbar-
|
|
38
|
-
<link rel="modulepreload" crossorigin href="/assets/tag-
|
|
39
|
-
<link rel="modulepreload" crossorigin href="/assets/select-
|
|
37
|
+
<link rel="modulepreload" crossorigin href="/assets/scrollbar-BFArGC-B.js">
|
|
38
|
+
<link rel="modulepreload" crossorigin href="/assets/tag-B4v4gfl_.js">
|
|
39
|
+
<link rel="modulepreload" crossorigin href="/assets/select-B1mzQ7WN.js">
|
|
40
40
|
<link rel="modulepreload" crossorigin href="/assets/isArrayLikeObject-blnPo8-U.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="/assets/merge-DDoD2D8q.js">
|
|
42
|
-
<link rel="modulepreload" crossorigin href="/assets/checkbox-
|
|
43
|
-
<link rel="modulepreload" crossorigin href="/assets/table-
|
|
44
|
-
<link rel="modulepreload" crossorigin href="/assets/repeat-click-
|
|
45
|
-
<link rel="modulepreload" crossorigin href="/assets/message-box-
|
|
46
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
47
|
-
<link rel="modulepreload" crossorigin href="/assets/CommonDialog-
|
|
48
|
-
<link rel="modulepreload" crossorigin href="/assets/empty-
|
|
49
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
50
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
51
|
-
<link rel="modulepreload" crossorigin href="/assets/SvgIcon-
|
|
52
|
-
<link rel="modulepreload" crossorigin href="/assets/configStore-
|
|
53
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
54
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
55
|
-
<link rel="modulepreload" crossorigin href="/assets/TemplateManager-
|
|
56
|
-
<link rel="modulepreload" crossorigin href="/assets/dropdown-
|
|
57
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
58
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
59
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
60
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
61
|
-
<link rel="modulepreload" crossorigin href="/assets/IconButton-
|
|
62
|
-
<link rel="modulepreload" crossorigin href="/assets/toolsStore-
|
|
63
|
-
<link rel="modulepreload" crossorigin href="/assets/css-
|
|
64
|
-
<link rel="modulepreload" crossorigin href="/assets/file-picker-
|
|
42
|
+
<link rel="modulepreload" crossorigin href="/assets/checkbox-B7YbNGuH.js">
|
|
43
|
+
<link rel="modulepreload" crossorigin href="/assets/table-DydILIY8.js">
|
|
44
|
+
<link rel="modulepreload" crossorigin href="/assets/repeat-click-B7DOHmvB.js">
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/message-box-CXom4_oM.js">
|
|
46
|
+
<link rel="modulepreload" crossorigin href="/assets/css-CeOw7pBa.js">
|
|
47
|
+
<link rel="modulepreload" crossorigin href="/assets/CommonDialog-BK-EP7t_.js">
|
|
48
|
+
<link rel="modulepreload" crossorigin href="/assets/empty-BsRc9htE.js">
|
|
49
|
+
<link rel="modulepreload" crossorigin href="/assets/css-LiAyzznX.js">
|
|
50
|
+
<link rel="modulepreload" crossorigin href="/assets/css-DuOCaNNA.js">
|
|
51
|
+
<link rel="modulepreload" crossorigin href="/assets/SvgIcon-CdV2Vf7y.js">
|
|
52
|
+
<link rel="modulepreload" crossorigin href="/assets/configStore-Bu9Y7yi8.js">
|
|
53
|
+
<link rel="modulepreload" crossorigin href="/assets/css-Dv_BkLAU.js">
|
|
54
|
+
<link rel="modulepreload" crossorigin href="/assets/css-DUZNM4Y2.js">
|
|
55
|
+
<link rel="modulepreload" crossorigin href="/assets/TemplateManager-Xw10gkAg.js">
|
|
56
|
+
<link rel="modulepreload" crossorigin href="/assets/dropdown-CtU-luuS.js">
|
|
57
|
+
<link rel="modulepreload" crossorigin href="/assets/css-zjLlfHGW.js">
|
|
58
|
+
<link rel="modulepreload" crossorigin href="/assets/css-DY0EjKnI.js">
|
|
59
|
+
<link rel="modulepreload" crossorigin href="/assets/css-ltJ3T38X.js">
|
|
60
|
+
<link rel="modulepreload" crossorigin href="/assets/css-DUozUjEY.js">
|
|
61
|
+
<link rel="modulepreload" crossorigin href="/assets/IconButton-rWXbHMlj.js">
|
|
62
|
+
<link rel="modulepreload" crossorigin href="/assets/toolsStore-BTA83WTy.js">
|
|
63
|
+
<link rel="modulepreload" crossorigin href="/assets/css-DHMJKOSk.js">
|
|
64
|
+
<link rel="modulepreload" crossorigin href="/assets/file-picker-Gn9LzhB0.js">
|
|
65
65
|
<link rel="stylesheet" crossorigin href="/assets/css-cyJZB4WD.css">
|
|
66
66
|
<link rel="stylesheet" crossorigin href="/assets/css-Wf_ds9r7.css">
|
|
67
67
|
<link rel="stylesheet" crossorigin href="/assets/css-ZSOkJyjJ.css">
|
|
68
|
-
<link rel="stylesheet" crossorigin href="/assets/CommonDialog-
|
|
68
|
+
<link rel="stylesheet" crossorigin href="/assets/CommonDialog-w6EmBEXv.css">
|
|
69
69
|
<link rel="stylesheet" crossorigin href="/assets/css-1VV9QMa7.css">
|
|
70
70
|
<link rel="stylesheet" crossorigin href="/assets/css-Nqb2n_Xn.css">
|
|
71
|
-
<link rel="stylesheet" crossorigin href="/assets/SvgIcon-
|
|
71
|
+
<link rel="stylesheet" crossorigin href="/assets/SvgIcon-CDNsk4-Q.css">
|
|
72
72
|
<link rel="stylesheet" crossorigin href="/assets/css-S7fQQ3B8.css">
|
|
73
73
|
<link rel="stylesheet" crossorigin href="/assets/css-GF-yQkxY.css">
|
|
74
|
-
<link rel="stylesheet" crossorigin href="/assets/TemplateManager-
|
|
74
|
+
<link rel="stylesheet" crossorigin href="/assets/TemplateManager-DtDpRU-r.css">
|
|
75
75
|
<link rel="stylesheet" crossorigin href="/assets/css-4sOBTGxz.css">
|
|
76
76
|
<link rel="stylesheet" crossorigin href="/assets/css-BtuTnLzD.css">
|
|
77
77
|
<link rel="stylesheet" crossorigin href="/assets/css-x1XGuNl0.css">
|
|
78
|
-
<link rel="stylesheet" crossorigin href="/assets/IconButton-
|
|
78
|
+
<link rel="stylesheet" crossorigin href="/assets/IconButton-Ca_axHSP.css">
|
|
79
79
|
<link rel="stylesheet" crossorigin href="/assets/css-CzNtyWdF.css">
|
|
80
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
80
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BJM2x7X4.css">
|
|
81
81
|
</head>
|
|
82
82
|
<body>
|
|
83
83
|
<div id="app"></div>
|
|
@@ -135,6 +135,12 @@ import {
|
|
|
135
135
|
judgeStalledJob,
|
|
136
136
|
shouldCheckStall,
|
|
137
137
|
} from './stallWatchdog.js';
|
|
138
|
+
import {
|
|
139
|
+
readTriageStore,
|
|
140
|
+
writeTriageStore,
|
|
141
|
+
pickTriageForTask,
|
|
142
|
+
runTriageBatch,
|
|
143
|
+
} from './replyTriage.js';
|
|
138
144
|
import { detectExecutorModels, formatExecutorModel } from './executorModels.js';
|
|
139
145
|
|
|
140
146
|
/**
|
|
@@ -150,9 +156,24 @@ let reportTimer = null;
|
|
|
150
156
|
/** 静默看门狗的定时器(与报告同一个粒度,各自独立装配/清理) */
|
|
151
157
|
let stallTimer = null;
|
|
152
158
|
|
|
159
|
+
/** 「等你回话」判定(replyTriage)的定时器。同上 */
|
|
160
|
+
let triageTimer = null;
|
|
161
|
+
|
|
153
162
|
/** 自动报告的检查粒度。它**不等于**报告间隔 —— 见 tickProgressReport 的注释 */
|
|
154
163
|
const REPORT_TICK_MS = 30 * 1000;
|
|
155
164
|
|
|
165
|
+
/**
|
|
166
|
+
* 「这条已完成的任务在等你回话」判定(replyTriage)的节奏。
|
|
167
|
+
*
|
|
168
|
+
* 与报告、静默看门狗共用 30s 这一跳,但多两个约束:
|
|
169
|
+
* · 每跳最多跑几批 —— 首次启用时库里已有两三百条历史任务,一口气全问等于开场
|
|
170
|
+
* 就打几十次模型;分批(每批 8 条)能让标一条条冒出来,也不会把事件循环占住。
|
|
171
|
+
* · 失败后退避 5 分钟 —— 模型没配好 / 网关挂了时,别每 30 秒重撞一次。
|
|
172
|
+
*/
|
|
173
|
+
const TRIAGE_TICK_MS = 30 * 1000;
|
|
174
|
+
const TRIAGE_BATCHES_PER_TICK = 4;
|
|
175
|
+
const TRIAGE_BACKOFF_MS = 5 * 60 * 1000;
|
|
176
|
+
|
|
156
177
|
/**
|
|
157
178
|
* 注册所有 workbench 路由(共 45 个端点)。
|
|
158
179
|
* @param {Object} deps
|
|
@@ -1162,7 +1183,18 @@ export function registerWorkbenchRoutes({
|
|
|
1162
1183
|
const hidden = await readHiddenProjects();
|
|
1163
1184
|
if (hidden.length) projects = filterHiddenProjects(allProjects, hidden);
|
|
1164
1185
|
const jobsByTask = groupJobsByTask(jobsSnap);
|
|
1165
|
-
|
|
1186
|
+
/**
|
|
1187
|
+
* 「这条已完成的任务还在等你回话」——主 Agent 判过的那份缓存(replyTriage)。
|
|
1188
|
+
* 只读不判:判定跑在后台 tick 里(30s 一跳),这里 5s 轮询一次只是把结论挂到卡上。
|
|
1189
|
+
* pickTriageForTask 会核对 jobId —— 任务重跑过,上一轮的结论就不算数了。
|
|
1190
|
+
*/
|
|
1191
|
+
const triageStore = await readTriageStore();
|
|
1192
|
+
const boardTasks = tasks.map((t) => {
|
|
1193
|
+
const jobsForTask = jobsByTask.get(t.id) || [];
|
|
1194
|
+
return decorateTaskForBoard(t, jobsForTask, {
|
|
1195
|
+
triage: pickTriageForTask(triageStore, t.id, jobsForTask),
|
|
1196
|
+
});
|
|
1197
|
+
});
|
|
1166
1198
|
return { projects, tasks: boardTasks, currentProjectPath };
|
|
1167
1199
|
}
|
|
1168
1200
|
|
|
@@ -1738,6 +1770,70 @@ export function registerWorkbenchRoutes({
|
|
|
1738
1770
|
}, REPORT_TICK_MS);
|
|
1739
1771
|
stallTimer.unref?.();
|
|
1740
1772
|
|
|
1773
|
+
/**
|
|
1774
|
+
* 「这条跑完了,但它在等你回话」判定的一跳。
|
|
1775
|
+
*
|
|
1776
|
+
* 为什么是**主 Agent(模型)**判而不是关键词:同一组词能出现在意思相反的两句话里 ——
|
|
1777
|
+
* 「记录一条经验:用 offsetParent 判断是否收起会误判」(陈述)与
|
|
1778
|
+
* 「需要我把构建产物同步过去吗?」(提问)。用户 2026-11-06 明确要求交给 agent,
|
|
1779
|
+
* 判据与 prompt 都在 replyTriage.js。
|
|
1780
|
+
*
|
|
1781
|
+
* 与静默看门狗的三点不同:
|
|
1782
|
+
* · **不需要 SSE 推送**:这枚标只影响看板卡片,而看板本来就 5s 拉一次接口;
|
|
1783
|
+
* · **要吃模型配置**:没配模型就安静跳过(每跳重读配置 → 配置好之后自动开始,
|
|
1784
|
+
* 不用重启);
|
|
1785
|
+
* · **能重判**:任务重跑一轮后 jobId 变了,旧结论自动失效,下一跳会重新问。
|
|
1786
|
+
*
|
|
1787
|
+
* 失败退避 5 分钟:判定是"锦上添花"的标注,网关抖动时不该每 30 秒重撞一次。
|
|
1788
|
+
*/
|
|
1789
|
+
let triageInFlight = false;
|
|
1790
|
+
let triageBackoffUntil = 0;
|
|
1791
|
+
async function tickReplyTriage() {
|
|
1792
|
+
if (triageInFlight) return;
|
|
1793
|
+
const now = Date.now();
|
|
1794
|
+
if (now < triageBackoffUntil) return;
|
|
1795
|
+
triageInFlight = true;
|
|
1796
|
+
try {
|
|
1797
|
+
const ctx = await readReportContext();
|
|
1798
|
+
if (!ctx.model) return; // 没配模型:不标(宁可不标,也不拿正则猜一个顶上)
|
|
1799
|
+
|
|
1800
|
+
const data = await readJson(TASKS_FILE, { tasks: [] });
|
|
1801
|
+
const tasks = data.tasks || [];
|
|
1802
|
+
await refreshJobsFromDisk();
|
|
1803
|
+
const jobs = snapshotJobs();
|
|
1804
|
+
const keepTaskIds = new Set(tasks.map(t => t && t.id).filter(Boolean));
|
|
1805
|
+
|
|
1806
|
+
let store = await readTriageStore();
|
|
1807
|
+
for (let i = 0; i < TRIAGE_BATCHES_PER_TICK; i++) {
|
|
1808
|
+
const out = await runTriageBatch({
|
|
1809
|
+
tasks, jobs, store, model: ctx.model, locale: ctx.locale,
|
|
1810
|
+
});
|
|
1811
|
+
store = out.store;
|
|
1812
|
+
if (out.errorCode) {
|
|
1813
|
+
if (out.errorCode !== 'NO_MODEL') {
|
|
1814
|
+
triageBackoffUntil = Date.now() + TRIAGE_BACKOFF_MS;
|
|
1815
|
+
logger.info(`[workbench] 「等你回话」判定跳过: ${out.errorCode} ${out.errorDetail}`.trim());
|
|
1816
|
+
}
|
|
1817
|
+
break;
|
|
1818
|
+
}
|
|
1819
|
+
if (!out.asked) break; // 没有候选了(都判过 / 都没收尾 / 都没收尾正文)
|
|
1820
|
+
// 每批都落盘:进程随时可能退出,而重跑一遍完整判定是白烧额度
|
|
1821
|
+
await writeTriageStore(store, { keepTaskIds });
|
|
1822
|
+
if (!out.judged) break; // 整批漏答:同一批再问也是同一个结果,留给下一跳
|
|
1823
|
+
}
|
|
1824
|
+
} finally {
|
|
1825
|
+
triageInFlight = false;
|
|
1826
|
+
}
|
|
1827
|
+
}
|
|
1828
|
+
|
|
1829
|
+
if (triageTimer) { clearInterval(triageTimer); triageTimer = null; }
|
|
1830
|
+
triageTimer = setInterval(() => {
|
|
1831
|
+
tickReplyTriage().catch(err => {
|
|
1832
|
+
logger.warn('[workbench] 「等你回话」判定失败:', (err && err.message) || err);
|
|
1833
|
+
});
|
|
1834
|
+
}, TRIAGE_TICK_MS);
|
|
1835
|
+
triageTimer.unref?.();
|
|
1836
|
+
|
|
1741
1837
|
/** 提示词参数校验:空串是合法值(= 清除),只拦超长与非字符串 */
|
|
1742
1838
|
function assertPromptText(prompt) {
|
|
1743
1839
|
if (typeof prompt !== 'string') throw new HttpError(400, 'prompt 必须是字符串');
|
|
@@ -396,16 +396,24 @@ export function pickBoardImages(attachments) {
|
|
|
396
396
|
}));
|
|
397
397
|
}
|
|
398
398
|
|
|
399
|
-
export function decorateTaskForBoard(task, jobsForTask = [], { now = Date.now() } = {}) {
|
|
399
|
+
export function decorateTaskForBoard(task, jobsForTask = [], { now = Date.now(), triage = null } = {}) {
|
|
400
400
|
const jobs = Array.isArray(jobsForTask) ? jobsForTask : [];
|
|
401
401
|
const last = latestJob(jobs);
|
|
402
402
|
const live = pickLiveActivity(jobs, now);
|
|
403
|
+
const column = deriveTaskColumn(task, jobs);
|
|
404
|
+
const manualDoneAt = manualDoneHolds(task, jobs) ? task.manualDoneAt : null;
|
|
405
|
+
/**
|
|
406
|
+
* 最近一条 job 的正文摘录("它最后说了什么");有 job 在跑时恒为 null,从没跑过 → ''。
|
|
407
|
+
* 取 `last` 而不是"最近一条有输出的 job":那次执行要是没产出正文,宁可空着,
|
|
408
|
+
* 也不能把上一次的旧话当成这次的结果摆出来。
|
|
409
|
+
*/
|
|
410
|
+
const lastReply = live ? null : tailExcerpt(last ? last.output : '');
|
|
403
411
|
return {
|
|
404
412
|
id: task.id,
|
|
405
413
|
title: task.title || '',
|
|
406
414
|
desc: task.desc || '',
|
|
407
415
|
projectPath: task.projectPath || '',
|
|
408
|
-
column
|
|
416
|
+
column,
|
|
409
417
|
attachmentCount: Array.isArray(task.attachments) ? task.attachments.length : 0,
|
|
410
418
|
/**
|
|
411
419
|
* 附件里的图片(卡片封面的数据源,空数组 = 这张卡不画封面)。
|
|
@@ -416,12 +424,31 @@ export function decorateTaskForBoard(task, jobsForTask = [], { now = Date.now()
|
|
|
416
424
|
runningJobs: jobs.filter(j => j && (j.status === 'running' || j.status === 'pending')).length,
|
|
417
425
|
/** 正在跑时的活动摘要;没有在跑 → null */
|
|
418
426
|
live,
|
|
427
|
+
lastReply,
|
|
419
428
|
/**
|
|
420
|
-
*
|
|
421
|
-
*
|
|
422
|
-
*
|
|
429
|
+
* 「这条跑完了,但它在等你回话」(2026-11-06 补)。
|
|
430
|
+
*
|
|
431
|
+
* 已完成列混着两种任务:真做完的,和模型收尾时反问「要不要我接着做?」的。
|
|
432
|
+
* 两种在卡片上长得一样(都是「已完成」+ 用时 + 一段话),用户要区分只能把那段读完 ——
|
|
433
|
+
* 而这一列动辄两三百张。
|
|
434
|
+
*
|
|
435
|
+
* 判据**不在本模块**:由主 Agent(模型)读收尾后给出,缓存在 replyTriage 的
|
|
436
|
+
* awaiting-replies.json 里(按 jobId 记账,重跑一轮自动失效),调用侧用
|
|
437
|
+
* `pickTriageForTask` 取好再通过 `triage` 传进来。
|
|
438
|
+
*
|
|
439
|
+
* 为什么不用关键词匹配:第一版就是正则(`要不要 / 需要我 / 说一声`),用户否掉了 ——
|
|
440
|
+
* 「记录一条经验:用 offsetParent 判断是否收起会误判」与「需要我把构建产物同步过去吗」
|
|
441
|
+
* 带同一组词、语义相反。这类判断只能读懂那句话,不能查词(详见 replyTriage.js 文件头)。
|
|
442
|
+
*
|
|
443
|
+
* 三个前置,缺一不可:
|
|
444
|
+
* · 不在跑(有 job 在跑就不可能有"收尾");
|
|
445
|
+
* · 真在「已完成」列(待处理里的旧回复不算待你回话 —— 那是另一件事);
|
|
446
|
+
* · **没有**用户手动标的完成标记 —— 手动收掉等于用户已经表过态,
|
|
447
|
+
* 此时再挂「等你回话」是在替用户反悔。
|
|
423
448
|
*/
|
|
424
|
-
|
|
449
|
+
awaitingReply: !live && column === 'done' && !manualDoneAt && !!(triage && triage.waiting),
|
|
450
|
+
/** 主 Agent 给的依据(悬停提示里展示;没判 / 判 false 时是空串) */
|
|
451
|
+
awaitingReason: triage && triage.waiting && triage.reason ? triage.reason : '',
|
|
425
452
|
/**
|
|
426
453
|
* 最近一条 job 用的执行器(卡片上的品牌图标;认不出 / 从没跑过 → '')。
|
|
427
454
|
* 与 live.agent 的分工:那个只在**跑的时候**有值,跑完就断——而"这条是 Claude 还是
|
|
@@ -474,7 +501,7 @@ export function decorateTaskForBoard(task, jobsForTask = [], { now = Date.now()
|
|
|
474
501
|
* ② 是必须的:手动收掉的任务没有"跑完的时刻",最近一条 job 可能是三天前那次报错,
|
|
475
502
|
* 照旧取 lastJobEndedAt 的话,用户刚点完完成,卡片上写的是「3 天前」。
|
|
476
503
|
*/
|
|
477
|
-
manualDoneAt
|
|
504
|
+
manualDoneAt,
|
|
478
505
|
createdAt: task.createdAt || null,
|
|
479
506
|
updatedAt: task.updatedAt || null,
|
|
480
507
|
};
|