agent-tower 0.7.2 → 0.7.4-beta.0
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/dist/executors/__tests__/providers.test.js +53 -0
- package/dist/executors/__tests__/providers.test.js.map +1 -1
- package/dist/executors/providers.d.ts +2 -0
- package/dist/executors/providers.d.ts.map +1 -1
- package/dist/executors/providers.js +3 -2
- package/dist/executors/providers.js.map +1 -1
- package/dist/git/base-branch.d.ts +3 -0
- package/dist/git/base-branch.d.ts.map +1 -0
- package/dist/git/base-branch.js +17 -0
- package/dist/git/base-branch.js.map +1 -0
- package/dist/git/worktree.manager.d.ts +2 -0
- package/dist/git/worktree.manager.d.ts.map +1 -1
- package/dist/git/worktree.manager.js +29 -8
- package/dist/git/worktree.manager.js.map +1 -1
- package/dist/git/worktree.manager.test.js +38 -0
- package/dist/git/worktree.manager.test.js.map +1 -1
- package/dist/mcp/http-client.d.ts +4 -6
- package/dist/mcp/http-client.d.ts.map +1 -1
- package/dist/mcp/http-client.js +6 -0
- package/dist/mcp/http-client.js.map +1 -1
- package/dist/mcp/tools/__tests__/providers.test.d.ts +2 -0
- package/dist/mcp/tools/__tests__/providers.test.d.ts.map +1 -0
- package/dist/mcp/tools/__tests__/providers.test.js +22 -0
- package/dist/mcp/tools/__tests__/providers.test.js.map +1 -0
- package/dist/mcp/tools/__tests__/tasks.test.d.ts +2 -0
- package/dist/mcp/tools/__tests__/tasks.test.d.ts.map +1 -0
- package/dist/mcp/tools/__tests__/tasks.test.js +49 -0
- package/dist/mcp/tools/__tests__/tasks.test.js.map +1 -0
- package/dist/mcp/tools/providers.d.ts.map +1 -1
- package/dist/mcp/tools/providers.js +3 -2
- package/dist/mcp/tools/providers.js.map +1 -1
- package/dist/mcp/tools/tasks.d.ts.map +1 -1
- package/dist/mcp/tools/tasks.js +31 -2
- package/dist/mcp/tools/tasks.js.map +1 -1
- package/dist/mcp/types.d.ts +27 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js +13 -0
- package/dist/mcp/types.js.map +1 -1
- package/dist/output/__tests__/text-block-lifecycle.test.js +37 -0
- package/dist/output/__tests__/text-block-lifecycle.test.js.map +1 -1
- package/dist/output/text-block-tracker.d.ts.map +1 -1
- package/dist/output/text-block-tracker.js +24 -1
- package/dist/output/text-block-tracker.js.map +1 -1
- package/dist/prompts/task-handoff.d.ts +6 -0
- package/dist/prompts/task-handoff.d.ts.map +1 -0
- package/dist/prompts/task-handoff.js +17 -0
- package/dist/prompts/task-handoff.js.map +1 -0
- package/dist/prompts/task-handoff.test.d.ts +2 -0
- package/dist/prompts/task-handoff.test.d.ts.map +1 -0
- package/dist/prompts/task-handoff.test.js +27 -0
- package/dist/prompts/task-handoff.test.js.map +1 -0
- package/dist/prompts/workspace-background-service-policy.d.ts +6 -0
- package/dist/prompts/workspace-background-service-policy.d.ts.map +1 -1
- package/dist/prompts/workspace-background-service-policy.js +2 -1
- package/dist/prompts/workspace-background-service-policy.js.map +1 -1
- package/dist/routes/__tests__/providers.test.js +67 -0
- package/dist/routes/__tests__/providers.test.js.map +1 -1
- package/dist/routes/__tests__/task-handoff.test.d.ts +2 -0
- package/dist/routes/__tests__/task-handoff.test.d.ts.map +1 -0
- package/dist/routes/__tests__/task-handoff.test.js +185 -0
- package/dist/routes/__tests__/task-handoff.test.js.map +1 -0
- package/dist/routes/__tests__/tasks.test.js +46 -0
- package/dist/routes/__tests__/tasks.test.js.map +1 -1
- package/dist/routes/providers.d.ts.map +1 -1
- package/dist/routes/providers.js +8 -0
- package/dist/routes/providers.js.map +1 -1
- package/dist/routes/tasks.d.ts.map +1 -1
- package/dist/routes/tasks.js +60 -2
- package/dist/routes/tasks.js.map +1 -1
- package/dist/runtime/acp/history-reconciler.js +1 -1
- package/dist/runtime/acp/history-reconciler.js.map +1 -1
- package/dist/services/__tests__/session-manager.lifecycle.test.js +171 -1
- package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
- package/dist/services/__tests__/task.service.test.js +142 -76
- package/dist/services/__tests__/task.service.test.js.map +1 -1
- package/dist/services/__tests__/translation-protection.test.js +48 -18
- package/dist/services/__tests__/translation-protection.test.js.map +1 -1
- package/dist/services/__tests__/translation-session-blocks.test.js +66 -2
- package/dist/services/__tests__/translation-session-blocks.test.js.map +1 -1
- package/dist/services/__tests__/workspace-background-service.service.test.js +74 -26
- package/dist/services/__tests__/workspace-background-service.service.test.js.map +1 -1
- package/dist/services/__tests__/workspace.service.test.js +70 -0
- package/dist/services/__tests__/workspace.service.test.js.map +1 -1
- package/dist/services/message-delivery.service.d.ts +4 -1
- package/dist/services/message-delivery.service.d.ts.map +1 -1
- package/dist/services/project.service.d.ts +3 -0
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/provider-config.service.d.ts.map +1 -1
- package/dist/services/provider-config.service.js +1 -0
- package/dist/services/provider-config.service.js.map +1 -1
- package/dist/services/session-manager.d.ts +15 -5
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +19 -3
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/task-cleanup.service.d.ts +2 -0
- package/dist/services/task-cleanup.service.d.ts.map +1 -1
- package/dist/services/task-cleanup.service.js +2 -2
- package/dist/services/task-cleanup.service.js.map +1 -1
- package/dist/services/task-handoff.service.d.ts +18 -0
- package/dist/services/task-handoff.service.d.ts.map +1 -0
- package/dist/services/task-handoff.service.js +87 -0
- package/dist/services/task-handoff.service.js.map +1 -0
- package/dist/services/task.service.d.ts +45 -18
- package/dist/services/task.service.d.ts.map +1 -1
- package/dist/services/task.service.js +215 -160
- package/dist/services/task.service.js.map +1 -1
- package/dist/services/team-run.service.d.ts +3 -0
- package/dist/services/team-run.service.d.ts.map +1 -1
- package/dist/services/team-task-input.service.d.ts +3 -0
- package/dist/services/team-task-input.service.d.ts.map +1 -1
- package/dist/services/translation-protection.d.ts +3 -1
- package/dist/services/translation-protection.d.ts.map +1 -1
- package/dist/services/translation-protection.js +21 -67
- package/dist/services/translation-protection.js.map +1 -1
- package/dist/services/translation-settings.service.d.ts +4 -4
- package/dist/services/translation.service.d.ts.map +1 -1
- package/dist/services/translation.service.js +44 -20
- package/dist/services/translation.service.js.map +1 -1
- package/dist/services/workspace-background-service.service.d.ts +1 -3
- package/dist/services/workspace-background-service.service.d.ts.map +1 -1
- package/dist/services/workspace-background-service.service.js +17 -65
- package/dist/services/workspace-background-service.service.js.map +1 -1
- package/dist/services/workspace.service.d.ts +21 -6
- package/dist/services/workspace.service.d.ts.map +1 -1
- package/dist/services/workspace.service.js +56 -11
- package/dist/services/workspace.service.js.map +1 -1
- package/dist/web/assets/AgentDemoPage-JXetlNBf.js +1 -0
- package/dist/web/assets/{AgentEnvironmentSettingsPage-GHjKIWpb.js → AgentEnvironmentSettingsPage-CdYyUCwJ.js} +1 -1
- package/dist/web/assets/AttachmentPreview-DMS-PM-1.js +2 -0
- package/dist/web/assets/BranchSelect-BAq4L2ZS.js +1 -0
- package/dist/web/assets/BrandLogo--kWXXJtZ.js +1 -0
- package/dist/web/assets/ConversationPage-CvC4RyB5.js +1 -0
- package/dist/web/assets/CreateTaskInput-DjVxCAfc.js +1 -0
- package/dist/web/assets/{DemoPage-DK-ikg1_.js → DemoPage-cDVTGOp8.js} +3 -3
- package/dist/web/assets/DesignSystemPage-BI54IkKi.js +12 -0
- package/dist/web/assets/{ExecutionPermissionSelector-B8befbxJ.js → ExecutionPermissionSelector-f1UYIm1z.js} +1 -1
- package/dist/web/assets/GeneralSettingsPage-C0yto6C_.js +1 -0
- package/dist/web/assets/{LoadingPreviewPage-BDlf89rJ.js → LoadingPreviewPage-BiJSaHUi.js} +1 -1
- package/dist/web/assets/McpSettingsPage-BbHwZtyj.js +1 -0
- package/dist/web/assets/{MemberAvatar-YVr_erAr.js → MemberAvatar-BLezO3vS.js} +1 -1
- package/dist/web/assets/MobileTaskDetail-M_Kke9rL.js +3 -0
- package/dist/web/assets/NotificationSettingsPage-CiKoL2Kv.js +1 -0
- package/dist/web/assets/{ProfileSettingsPage-CHe4LlRp.js → ProfileSettingsPage-DCB48cPS.js} +2 -2
- package/dist/web/assets/ProjectKanbanPage-soDqevjQ.js +12 -0
- package/dist/web/assets/ProjectSettingsPage-COvIVq1h.js +2 -0
- package/dist/web/assets/ProviderSettingsPage-CPuJcZDg.js +67 -0
- package/dist/web/assets/{SettingsMasterDetail-DjWR9Sqk.js → SettingsMasterDetail-Cv7YaRJB.js} +1 -1
- package/dist/web/assets/TaskDetail-CqhPxvg3.js +1 -0
- package/dist/web/assets/TaskHandoffPanel-CxH3Mgyd.js +70 -0
- package/dist/web/assets/TeamSettingsPage-D-XDefNd.js +1 -0
- package/dist/web/assets/{TranslationSettingsPage-Cod9c4Ug.js → TranslationSettingsPage-BPHI-SZW.js} +1 -1
- package/dist/web/assets/{arc-DEy33vTc.js → arc-CC81aLuf.js} +1 -1
- package/dist/web/assets/{architectureDiagram-3BPJPVTR-Ky1D1LBk.js → architectureDiagram-3BPJPVTR-DL08XGaN.js} +1 -1
- package/dist/web/assets/{at-sign-C48_y345.js → at-sign-DYPIlD6D.js} +1 -1
- package/dist/web/assets/{blockDiagram-GPEHLZMM-BNgB7kNT.js → blockDiagram-GPEHLZMM-B4IW5WxI.js} +1 -1
- package/dist/web/assets/{c4Diagram-AAUBKEIU-4GMrPMgQ.js → c4Diagram-AAUBKEIU-Cj4d_FqK.js} +1 -1
- package/dist/web/assets/channel-CUa8oyzC.js +1 -0
- package/dist/web/assets/check-DaZqOL8l.js +1 -0
- package/dist/web/assets/{chevron-down-3y5Aiolp.js → chevron-down-DNhYsNAt.js} +1 -1
- package/dist/web/assets/{chevron-up-DqaYcjpq.js → chevron-up-CjrLieBR.js} +1 -1
- package/dist/web/assets/chip-Cf92J-pQ.js +1 -0
- package/dist/web/assets/{chunk-2J33WTMH-C439hRe_.js → chunk-2J33WTMH-DeCj8QSD.js} +1 -1
- package/dist/web/assets/{chunk-4BX2VUAB-D8GK3M3t.js → chunk-4BX2VUAB-k-6rzQmQ.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-Dl4UhJ8X.js → chunk-55IACEB6-qMTCQ5bX.js} +1 -1
- package/dist/web/assets/{chunk-727SXJPM-BSEeayBq.js → chunk-727SXJPM-CMnu18d1.js} +1 -1
- package/dist/web/assets/{chunk-AQP2D5EJ-B6chbZfT.js → chunk-AQP2D5EJ-C0mFbUMn.js} +1 -1
- package/dist/web/assets/{chunk-FMBD7UC4-DaLkiLdQ.js → chunk-FMBD7UC4-u6-_M137.js} +1 -1
- package/dist/web/assets/{chunk-ND2GUHAM-DeQwZAAT.js → chunk-ND2GUHAM-DHrIE_8H.js} +1 -1
- package/dist/web/assets/{chunk-QZHKN3VN-CLRr4YRM.js → chunk-QZHKN3VN-aTyC0wZq.js} +1 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-BAx111NO.js +1 -0
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-BAx111NO.js +1 -0
- package/dist/web/assets/{code-block-OCS4YCEC-CnoxUpOx.js → code-block-OCS4YCEC-CBIOQOMH.js} +1 -1
- package/dist/web/assets/confirm-dialog-DWeBZLJW.js +1 -0
- package/dist/web/assets/content-JM9E1MeD.js +2 -0
- package/dist/web/assets/{copy-HRMhTkIG.js → copy-D0gl9kF8.js} +1 -1
- package/dist/web/assets/{cose-bilkent-S5V4N54A-C1UiYzfk.js → cose-bilkent-S5V4N54A-xLyliSgU.js} +1 -1
- package/dist/web/assets/cssMode-DO5UnQ64.js +1 -0
- package/dist/web/assets/{dagre-BM42HDAG-CTJpBgye.js → dagre-BM42HDAG-CbNpoO2d.js} +1 -1
- package/dist/web/assets/{diagram-2AECGRRQ-Dj1_TEYp.js → diagram-2AECGRRQ-CG3hKxAX.js} +1 -1
- package/dist/web/assets/{diagram-5GNKFQAL-V-KUpwqh.js → diagram-5GNKFQAL-mQu9M28s.js} +1 -1
- package/dist/web/assets/{diagram-KO2AKTUF-CXG1ZIeX.js → diagram-KO2AKTUF-BSeEp_Uw.js} +1 -1
- package/dist/web/assets/{diagram-LMA3HP47-BZSJUwk9.js → diagram-LMA3HP47-D6yRdao-.js} +1 -1
- package/dist/web/assets/{diagram-OG6HWLK6-CCr4gq4u.js → diagram-OG6HWLK6-BUBUW9wD.js} +1 -1
- package/dist/web/assets/dialog-D1lkhqVL.js +5 -0
- package/dist/web/assets/{erDiagram-TEJ5UH35-Djtyzh6z.js → erDiagram-TEJ5UH35-BQSZgRqq.js} +1 -1
- package/dist/web/assets/file-BijjwxRR.js +1 -0
- package/dist/web/assets/{flowDiagram-I6XJVG4X-BmSVSiXJ.js → flowDiagram-I6XJVG4X-D-eqyr5Y.js} +1 -1
- package/dist/web/assets/folder-picker-Czxm0_S9.js +1 -0
- package/dist/web/assets/{freemarker2-DdptX5f1.js → freemarker2-B4RvEa_U.js} +2 -2
- package/dist/web/assets/{ganttDiagram-6RSMTGT7-r5vQX-b5.js → ganttDiagram-6RSMTGT7-BWGkCt_x.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-PVQCEYII-Zj9aloh9.js → gitGraphDiagram-PVQCEYII-DGVc49pR.js} +1 -1
- package/dist/web/assets/{globe-B9I-jHBB.js → globe-Ce01-45x.js} +1 -1
- package/dist/web/assets/handlebars-oyT7drqS.js +1 -0
- package/dist/web/assets/html-CxxWf2Qk.js +1 -0
- package/dist/web/assets/htmlMode-RfAHh5Jj.js +1 -0
- package/dist/web/assets/index-BMZFF1UJ.js +1 -0
- package/dist/web/assets/index-BN53vGxp.css +1 -0
- package/dist/web/assets/index-Cc3qXMhU.js +122 -0
- package/dist/web/assets/{index-Bhvt-E6d.js → index-DWrSDMX2.js} +2 -2
- package/dist/web/assets/{index-DkRy6eNX.js → index-Dh-tgeaL.js} +4 -4
- package/dist/web/assets/{index-B1oVmCie.js → index-Disv1kQS.js} +1 -1
- package/dist/web/assets/{index-DcOU2m2F.js → index-DyJfPc4O.js} +1 -1
- package/dist/web/assets/{index-Dk3bRQAK.js → index-Pt4TsHjm.js} +1 -1
- package/dist/web/assets/{index-CThFsQNP.js → index-T38iVLEb.js} +1 -1
- package/dist/web/assets/{index-BtUQYU5l.js → index-hpHE1jXY.js} +1 -1
- package/dist/web/assets/{infoDiagram-5YYISTIA-BHtVaxZx.js → infoDiagram-5YYISTIA-DLPs3dV_.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-BYmwjkbC.js → ishikawaDiagram-YF4QCWOH-d_OrnwDY.js} +1 -1
- package/dist/web/assets/javascript-BNXtViSL.js +1 -0
- package/dist/web/assets/{journeyDiagram-JHISSGLW-c8BBqqRS.js → journeyDiagram-JHISSGLW-EtU1st_0.js} +1 -1
- package/dist/web/assets/jsonMode-Bqh5vIxx.js +7 -0
- package/dist/web/assets/{kanban-definition-UN3LZRKU-D4Vr-oFT.js → kanban-definition-UN3LZRKU-ZWzUnsFK.js} +1 -1
- package/dist/web/assets/{kbd-C88ut3t9.js → kbd-IjDGsZ2B.js} +1 -1
- package/dist/web/assets/{key-round-Cjbj2qNa.js → key-round-CbnAuUxp.js} +1 -1
- package/dist/web/assets/{layers-eaHAVcc3.js → layers-Pdy9vZ6K.js} +1 -1
- package/dist/web/assets/{linear-opi90s0L.js → linear-D7n23wcA.js} +1 -1
- package/dist/web/assets/{link-BSGb85gq.js → link-Bl1ZbjFh.js} +1 -1
- package/dist/web/assets/liquid-Ds47iVLN.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-DWu2Ubf0.js → lspLanguageFeatures-Dcch3bsp.js} +1 -1
- package/dist/web/assets/mdx-CM7ky-2B.js +1 -0
- package/dist/web/assets/{menu--sjyisSg.js → menu-DubntFHq.js} +1 -1
- package/dist/web/assets/{mermaid-NOHMQCX5-BSNbBj78.js → mermaid-NOHMQCX5-nBsnjgeU.js} +54 -54
- package/dist/web/assets/{message-square-BLEJN6p7.js → message-square-BE-pW0m_.js} +1 -1
- package/dist/web/assets/{mindmap-definition-RKZ34NQL-BN3ZjBh-.js → mindmap-definition-RKZ34NQL-ClHORNTt.js} +1 -1
- package/dist/web/assets/modal-CHLtZWvx.js +1 -0
- package/dist/web/assets/{monaco-BkuNyOkP.js → monaco-BbAmalE2.js} +3 -3
- package/dist/web/assets/nav-row-DH7rNq1V.js +1 -0
- package/dist/web/assets/{paperclip-CTNoXpUW.js → paperclip-YP3Bk1lI.js} +1 -1
- package/dist/web/assets/{pencil-Cp70ZwtG.js → pencil-BFDuhbtW.js} +1 -1
- package/dist/web/assets/{people-DT78SebR.js → people-DEeNaaLt.js} +1 -1
- package/dist/web/assets/{pieDiagram-4H26LBE5-CfmFHpPI.js → pieDiagram-4H26LBE5-BUOaKIyP.js} +1 -1
- package/dist/web/assets/popover-CUmBEXxL.js +1 -0
- package/dist/web/assets/provider-selection-DSu7SCI7.js +1 -0
- package/dist/web/assets/python-BODTtU6m.js +1 -0
- package/dist/web/assets/{quadrantDiagram-W4KKPZXB-CeaumJAa.js → quadrantDiagram-W4KKPZXB-Caezg-U2.js} +1 -1
- package/dist/web/assets/razor-CHm8DY1p.js +1 -0
- package/dist/web/assets/{requirementDiagram-4Y6WPE33-BWWCDXCE.js → requirementDiagram-4Y6WPE33-BtdP3Ka6.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-5OEKKPKP-DAJut743.js → sankeyDiagram-5OEKKPKP-Bv74oA-n.js} +1 -1
- package/dist/web/assets/{search-DniD_AGC.js → search-ClmOQd4H.js} +1 -1
- package/dist/web/assets/{select-BPdJrr5M.js → select-BB7QG08o.js} +1 -1
- package/dist/web/assets/{select-B5RYunTs.js → select-CYtYPr-c.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-3UESZ5HK-CynjRGW4.js → sequenceDiagram-3UESZ5HK-DuNPl-dg.js} +1 -1
- package/dist/web/assets/{server-xswxWpKD.js → server-bEB_DY55.js} +1 -1
- package/dist/web/assets/{stateDiagram-AJRCARHV-amAtpx9w.js → stateDiagram-AJRCARHV-B72HAgBJ.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Bu3l_CgB.js +1 -0
- package/dist/web/assets/{textarea-BVyPl9rM.js → textarea-BqYPvoO-.js} +1 -1
- package/dist/web/assets/{timeline-definition-PNZ67QCA-DZ9W7WlP.js → timeline-definition-PNZ67QCA-DTmHUgmQ.js} +1 -1
- package/dist/web/assets/{toggles-QcIz43DP.js → toggles-a5fkwT_D.js} +1 -1
- package/dist/web/assets/tooltip-DuyJMci9.js +1 -0
- package/dist/web/assets/{track-Ckye0-tt.js → track-DCjyrv3n.js} +1 -1
- package/dist/web/assets/{trash-2-CvUJsbtT.js → trash-2-CIyBqaVy.js} +1 -1
- package/dist/web/assets/tsMode-C1UXAkMh.js +11 -0
- package/dist/web/assets/typescript-Biht2wHb.js +1 -0
- package/dist/web/assets/{upload-CsXAmAun.js → upload-D05XS5-G.js} +1 -1
- package/dist/web/assets/use-profiles-CrWTyz1G.js +1 -0
- package/dist/web/assets/{use-providers-Td1-gyrN.js → use-providers-Dv1Nk6s7.js} +1 -1
- package/dist/web/assets/{use-translation-settings-NYM0lmBx.js → use-translation-settings-CcUnipVO.js} +1 -1
- package/dist/web/assets/useNormalizedLogs-D9W1cT4R.js +1 -0
- package/dist/web/assets/useTokenUsage-CZ5mDshD.js +1 -0
- package/dist/web/assets/{vennDiagram-CIIHVFJN-CB2Ubvy9.js → vennDiagram-CIIHVFJN-ByoNydXe.js} +1 -1
- package/dist/web/assets/{wardley-L42UT6IY-BXOkk77I.js → wardley-L42UT6IY-BqdMkOLl.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-YWT4CUSO-VA6ywdQQ.js → wardleyDiagram-YWT4CUSO-AO22HrEF.js} +1 -1
- package/dist/web/assets/xml-NLGqNFDv.js +1 -0
- package/dist/web/assets/{xychartDiagram-2RQKCTM6-FNcvDj5G.js → xychartDiagram-2RQKCTM6-vzPgjgqW.js} +1 -1
- package/dist/web/assets/yaml-AWlGS_Ig.js +1 -0
- package/dist/web/index.html +2 -2
- package/node_modules/@agent-tower/shared/dist/index.d.ts +1 -0
- package/node_modules/@agent-tower/shared/dist/index.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/index.js +1 -0
- package/node_modules/@agent-tower/shared/dist/index.js.map +1 -1
- package/node_modules/@agent-tower/shared/dist/task-handoff.d.ts +12 -0
- package/node_modules/@agent-tower/shared/dist/task-handoff.d.ts.map +1 -0
- package/node_modules/@agent-tower/shared/dist/task-handoff.js +2 -0
- package/node_modules/@agent-tower/shared/dist/task-handoff.js.map +1 -0
- package/node_modules/@agent-tower/shared/dist/translation.d.ts +12 -0
- package/node_modules/@agent-tower/shared/dist/translation.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/translation.js +19 -0
- package/node_modules/@agent-tower/shared/dist/translation.js.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts +28 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20261023000000_add_task_base_branch/migration.sql +2 -0
- package/prisma/migrations/20261023010000_add_subtasks/migration.sql +2 -0
- package/prisma/migrations/20261026000000_add_task_handoff/migration.sql +1 -0
- package/prisma/schema.prisma +6 -0
- package/dist/web/assets/AgentDemoPage-BfXkNCdN.js +0 -1
- package/dist/web/assets/AttachmentPreview-CLN1lnLe.js +0 -2
- package/dist/web/assets/BranchSelect-Cofp8vYf.js +0 -1
- package/dist/web/assets/BrandLogo-BUimEX-9.js +0 -1
- package/dist/web/assets/ConversationPage-R7vNaOQv.js +0 -1
- package/dist/web/assets/CreateTaskInput-CasITF8y.js +0 -1
- package/dist/web/assets/DesignSystemPage-BhjNs2vP.js +0 -12
- package/dist/web/assets/EditableTaskTitle-BJ9Rxggf.js +0 -70
- package/dist/web/assets/GeneralSettingsPage-RMN2al8I.js +0 -1
- package/dist/web/assets/McpSettingsPage-CPNxFF67.js +0 -1
- package/dist/web/assets/MobileTaskDetail-QNUHMq7u.js +0 -3
- package/dist/web/assets/NotificationSettingsPage-BEyuyu3Z.js +0 -1
- package/dist/web/assets/ProjectKanbanPage-Bt_01giW.js +0 -12
- package/dist/web/assets/ProjectSettingsPage-cus6Ns97.js +0 -2
- package/dist/web/assets/ProviderSettingsPage-DqA_B1Ey.js +0 -67
- package/dist/web/assets/TaskDetail-rEXNe2h3.js +0 -1
- package/dist/web/assets/TeamSettingsPage-DwWROtW6.js +0 -1
- package/dist/web/assets/channel-DTP-syjA.js +0 -1
- package/dist/web/assets/check-BmiJ7qMY.js +0 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-CUKgurLa.js +0 -1
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-CUKgurLa.js +0 -1
- package/dist/web/assets/confirm-dialog-ltNBFYCs.js +0 -1
- package/dist/web/assets/content-DPQMfMae.js +0 -2
- package/dist/web/assets/cssMode-DkuSsGeg.js +0 -1
- package/dist/web/assets/dialog-CuFEdqLg.js +0 -5
- package/dist/web/assets/handlebars-B34f-LAf.js +0 -1
- package/dist/web/assets/hooks-BLxb16IA.js +0 -1
- package/dist/web/assets/html-CnvOQ63o.js +0 -1
- package/dist/web/assets/htmlMode-RdxZ8Svp.js +0 -1
- package/dist/web/assets/icon-button-CYiKa-7C.js +0 -1
- package/dist/web/assets/index-0XPZayUU.css +0 -1
- package/dist/web/assets/index-BJObbxud.js +0 -122
- package/dist/web/assets/index-DZLnTISJ.js +0 -1
- package/dist/web/assets/javascript-BhombDEO.js +0 -1
- package/dist/web/assets/jsonMode-BJGOUeaV.js +0 -7
- package/dist/web/assets/liquid-Czy1WpPz.js +0 -1
- package/dist/web/assets/mdx-DhXfoSnM.js +0 -1
- package/dist/web/assets/modal-CSGOqphK.js +0 -1
- package/dist/web/assets/popover-BiVxGGgp.js +0 -1
- package/dist/web/assets/python-DIcQDjcf.js +0 -1
- package/dist/web/assets/razor-DYK6Rxer.js +0 -1
- package/dist/web/assets/search-field-CQLDXLeA.js +0 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-V-lSceg1.js +0 -1
- package/dist/web/assets/tooltip-CPqGK_WZ.js +0 -1
- package/dist/web/assets/tsMode-c5x0d47n.js +0 -11
- package/dist/web/assets/typescript-i7eYblLt.js +0 -1
- package/dist/web/assets/use-profiles-DuXaBRju.js +0 -1
- package/dist/web/assets/use-projects-Ddz0knyr.js +0 -1
- package/dist/web/assets/use-workspaces-CdJZLmGh.js +0 -1
- package/dist/web/assets/useNormalizedLogs--RbVywYa.js +0 -1
- package/dist/web/assets/useTokenUsage-DDXf7E4p.js +0 -1
- package/dist/web/assets/xml-D2EGActB.js +0 -1
- package/dist/web/assets/yaml-jeiIZSL4.js +0 -1
- /package/dist/web/assets/{EditableTaskTitle-DcpNTP1B.css → TaskHandoffPanel-DcpNTP1B.css} +0 -0
|
@@ -64,7 +64,9 @@ describe('durable Session block overlays', () => {
|
|
|
64
64
|
if (failOnce.delete(text))
|
|
65
65
|
return new Response('', { status: 503 });
|
|
66
66
|
await new Promise(resolve => release.push(resolve));
|
|
67
|
-
|
|
67
|
+
// Preserve protection boundary tokens, as a conforming translator does.
|
|
68
|
+
const start = text.match(/^⟦AT_[a-f0-9]{24}_\d+⟧/)?.[0] ?? '';
|
|
69
|
+
return response(start + 'Translated ' + text.slice(start.length));
|
|
68
70
|
}, timeoutMs: 1000 }), limits: { tickMs: 10, retryDelays } });
|
|
69
71
|
}
|
|
70
72
|
afterEach(async () => { for (const resolve of release)
|
|
@@ -75,7 +77,7 @@ describe('durable Session block overlays', () => {
|
|
|
75
77
|
store.textBlocks.admission = service.getAdmissionEpoch;
|
|
76
78
|
store.textBlocks.begin('turn');
|
|
77
79
|
store.onTextBlock(entry => {
|
|
78
|
-
if (entry.metadata?.textBlock?.state === 'OPEN' && entry.metadata.textBlock.sourceRevision === 1)
|
|
80
|
+
if (entry.metadata?.textBlock?.state === 'OPEN' && entry.metadata.textBlock.sourceRevision === 1 && !entry.metadata.textBlock.paragraphs?.length)
|
|
79
81
|
return;
|
|
80
82
|
// Same boundary contract used by SessionManager: one durable original checkpoint,
|
|
81
83
|
// then independent observer admission. Nothing on the raw output path awaits it.
|
|
@@ -87,6 +89,68 @@ describe('durable Session block overlays', () => {
|
|
|
87
89
|
return store;
|
|
88
90
|
}
|
|
89
91
|
async function overlays() { return (await service.listSessionOverlays(sessionId)).items; }
|
|
92
|
+
it('publishes each paragraph while the final answer is still streaming and recovers without duplicate requests', async () => {
|
|
93
|
+
const msgStore = store();
|
|
94
|
+
const first = 'The first complete paragraph. '.repeat(12) + '\n\n';
|
|
95
|
+
msgStore.pushPatch(addNormalizedEntry(0, createAssistantMessage(first + 'Unfinished tail')));
|
|
96
|
+
await until(async () => payloads.length === 1);
|
|
97
|
+
expect(payloads[0]).toContain('The first complete paragraph');
|
|
98
|
+
expect(payloads[0]).not.toContain('Unfinished');
|
|
99
|
+
release[0]();
|
|
100
|
+
await until(async () => (await overlays()).some(row => row.originalText === first && row.state === 'SUCCESS'));
|
|
101
|
+
const completed = (await overlays()).find(row => row.originalText === first);
|
|
102
|
+
expect(completed.translatedText).toBe('Translated ' + first);
|
|
103
|
+
expect(msgStore.getSnapshot().entries[0].metadata.textBlock.state).toBe('OPEN');
|
|
104
|
+
msgStore.pushPatch(updateEntryContent(0, first + 'The final tail'));
|
|
105
|
+
msgStore.textBlocks.end();
|
|
106
|
+
await until(async () => payloads.length === 2);
|
|
107
|
+
expect(payloads[1]).toBe('The final tail');
|
|
108
|
+
release[1]();
|
|
109
|
+
await until(async () => (await overlays()).filter(row => row.state === 'SUCCESS').length === 2);
|
|
110
|
+
expect((await overlays()).find(row => row.sourceId === completed.sourceId)).toEqual(completed);
|
|
111
|
+
await persist;
|
|
112
|
+
await service.shutdown();
|
|
113
|
+
sessionMsgStoreManager.delete(sessionId);
|
|
114
|
+
service = make();
|
|
115
|
+
await service.start();
|
|
116
|
+
await service.syncSessionCheckpoint(sessionId);
|
|
117
|
+
expect(payloads).toHaveLength(2);
|
|
118
|
+
expect(await db.translationAttempt.count()).toBe(2);
|
|
119
|
+
expect((await overlays()).map(row => row.originalText).sort()).toEqual([first, 'The final tail'].sort());
|
|
120
|
+
});
|
|
121
|
+
it('rejects a paragraph result after a prefix rewrite and lets the revised paragraph reuse its source', async () => {
|
|
122
|
+
const msgStore = store();
|
|
123
|
+
const first = 'Original paragraph. '.repeat(20) + '\n\n';
|
|
124
|
+
msgStore.pushPatch(addNormalizedEntry(0, createAssistantMessage(first + 'tail')));
|
|
125
|
+
await until(async () => payloads.length === 1);
|
|
126
|
+
const source = (await overlays()).find(row => row.originalText === first);
|
|
127
|
+
msgStore.pushPatch(updateEntryContent(0, 'Revised prefix'));
|
|
128
|
+
release[0]();
|
|
129
|
+
await persist;
|
|
130
|
+
await service.syncSessionCheckpoint(sessionId);
|
|
131
|
+
expect((await overlays()).some(row => row.translatedText)).toBe(false);
|
|
132
|
+
const revised = 'Revised paragraph. '.repeat(20) + '\n\n';
|
|
133
|
+
msgStore.pushPatch(updateEntryContent(0, revised + 'tail'));
|
|
134
|
+
await until(async () => payloads.length === 2);
|
|
135
|
+
release[1]();
|
|
136
|
+
await until(async () => (await overlays()).some(row => row.originalText === revised && row.state === 'SUCCESS'));
|
|
137
|
+
expect((await overlays()).find(row => row.originalText === revised)).toMatchObject({ sourceId: source.sourceId, sourceRevision: 2 });
|
|
138
|
+
expect((await db.translationSource.findUniqueOrThrow({ where: { id: source.sourceId } })).deletedAt).toBeNull();
|
|
139
|
+
});
|
|
140
|
+
it('retains completed paragraph translations when a streaming reply is cancelled and never sends its tail', async () => {
|
|
141
|
+
const msgStore = store();
|
|
142
|
+
const first = 'Complete paragraph before cancellation. '.repeat(10) + '\n\n';
|
|
143
|
+
msgStore.pushPatch(addNormalizedEntry(0, createAssistantMessage(first + 'cancelled unfinished tail')));
|
|
144
|
+
await until(async () => payloads.length === 1);
|
|
145
|
+
msgStore.textBlocks.end(true);
|
|
146
|
+
release[0]();
|
|
147
|
+
await until(async () => (await overlays()).some(row => row.state === 'SUCCESS'));
|
|
148
|
+
await persist;
|
|
149
|
+
await service.syncSessionCheckpoint(sessionId);
|
|
150
|
+
await service.pump();
|
|
151
|
+
expect(payloads).toHaveLength(1);
|
|
152
|
+
expect((await overlays()).find(row => row.originalText === first)?.translatedText).toBe('Translated ' + first);
|
|
153
|
+
});
|
|
90
154
|
it.each(['PENDING', 'RETRY_WAIT'])('does not tombstone a queued %s version revised before its checkpoint', async (state) => {
|
|
91
155
|
await service.shutdown();
|
|
92
156
|
const { id: _id, revision, enableEpoch: _epoch, credentialRevision: _credential, keyConfigured: _key, ...config } = await settings.getPublic();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation-session-blocks.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/translation-session-blocks.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"translation-session-blocks.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/translation-session-blocks.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACpF,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;AAC3E,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;AAChD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9D,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9E,KAAK,UAAU,KAAK,CAAC,KAA6B;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AACrG,CAAC;AACD,SAAS,QAAQ,CAAC,OAAe,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3I,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,QAAoC,CAAC;IACzC,IAAI,OAA2B,CAAC;IAChC,IAAI,SAAiB,CAAC;IACtB,IAAI,OAA0B,CAAC;IAC/B,IAAI,QAAkB,CAAC;IACvB,IAAI,OAAsB,CAAC;IAC3B,IAAI,QAAqB,CAAC;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,wBAAwB,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACzN,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;QAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;QAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;QAAC,MAAM,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QACjK,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7H,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7K,QAAQ,GAAG,IAAI,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,cAAc,EAAE,+BAA+B,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3S,OAAO,GAAG,EAAE,CAAC;QAAC,QAAQ,GAAG,EAAE,CAAC;QAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/E,OAAO,GAAG,IAAI,EAAE,CAAC;QAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,SAAS,IAAI,CAAC,KAAwB,EAAE,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5D,OAAO,IAAI,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,iBAAiB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;oBACnH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;wBAAE,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpE,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1D,wEAAwE;oBACxE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC9D,OAAO,QAAQ,CAAC,KAAK,GAAG,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,SAAS,CAAC,KAAK,IAAI,EAAE,GAAG,KAAK,MAAM,OAAO,IAAI,OAAO;QAAE,OAAO,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxJ,QAAQ,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,SAAS,KAAK;QACZ,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5D,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACvD,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM;gBAAE,OAAO;YACzJ,kFAAkF;YAClF,iFAAiF;YACjF,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBAChC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClH,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,UAAU,QAAQ,KAAK,OAAO,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1F,EAAE,CAAC,4GAA4G,EAAE,KAAK,IAAI,EAAE;QAC1H,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,gCAAgC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,sBAAsB,CAAC,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QAC9D,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;QAC/G,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,KAAK,CAAE,CAAC;QAC9E,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAS,CAAC,SAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClF,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC;QACpE,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAChG,MAAM,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/F,MAAM,OAAO,CAAC;QAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,GAAG,IAAI,EAAE,CAAC;QAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACxF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mGAAmG,EAAE,KAAK,IAAI,EAAE;QACjH,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,sBAAsB,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,KAAK,CAAE,CAAC;QAC3E,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,OAAO,CAAC;QAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QAC1D,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;QACjH,MAAM,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QACrI,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;QACrH,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,0CAA0C,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QAC7E,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,sBAAsB,CAAC,KAAK,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC/C,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;QACjF,MAAM,OAAO,CAAC;QAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACpF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,sEAAsE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACzH,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC/I,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACvD,mFAAmF;QACnF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/D,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpG,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrH,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAChC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtH,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,KAAK,YAAY,CAAC,CAAC;YAC7F,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzI,MAAM,UAAU,EAAE,CAAC;QAAC,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1I,MAAM,UAAU,EAAE,CAAC;QACrB,CAAC;;YAAM,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjI,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAAC,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC7G,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtH,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,MAAM,CAAC;QAC/E,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;QACjI,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACtF,MAAM,UAAU,EAAE,CAAC;QAAC,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC;QACzG,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;QAC/H,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;QACrH,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QAAC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,CAAC,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,aAAa,GAAc,EAAE,CAAC;QAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACnG,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAC9G,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC;QAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAChG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5F,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0GAA0G,EAAE,KAAK,IAAI,EAAE;QACxH,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpH,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7F,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QAClH,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxH,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,OAAO,CAAC;QAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChF,mFAAmF;QACnF,MAAM,MAAM,GAAG,0BAA0B,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACzH,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/B,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjI,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACtO,OAAO,GAAG,IAAI,EAAE,CAAC;QAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClF,MAAM,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QAClH,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,CAAC,MAAgB,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,KAAI,CAAC,EAAE,KAAK,CAAC,OAAO,KAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;YACxH,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;SACtH,CAAC,CAAC;QACZ,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACxE,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC;QAAC,MAAM,OAAO,CAAC;QACnF,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAClH,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAE,CAAC;QAC1G,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAS,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QACvG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrH,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC,CAAC,wDAAwD,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QACnI,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,KAAI,CAAC,EAAE,KAAK,CAAC,OAAO,KAAI,CAAC,EAAE,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,CAAC,MAAoB,EAAE,SAAiB,EAAE,IAAY,EAAE,aAAa,GAAG,qBAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5H,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;SAClF,CAAC,CAAC;QACZ,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACtC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,IAAI,KAAK,CAAC;oBAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAE,oBAAoB,CAAC,CAAC;gBACjE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC;gBAChD,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACjF,CAAC;QACD,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAChG,MAAM,OAAO,CAAC;QACd,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,KAAI,CAAC,EAAE,KAAK,CAAC,OAAO,KAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,QAAQ,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;QACzI,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACtC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAE,oBAAoB,CAAC,CAAC;gBACjE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAE,CAAC;QACpF,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1E,mFAAmF;QACnF,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,QAAQ,KAAK,sBAAsB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAS,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gBACvD,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAS,CAAC,SAAU,CAAC,OAAO;gBACrD,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAS,CAAC,SAAU,CAAC,MAAM;gBACnD,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAS,CAAC,SAAU,CAAC,iBAAiB;gBACzE,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;aACjC,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAS,CAAC,SAAU,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;YACzE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAS,CAAC,SAAU,CAAC,gBAAgB,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/E,CAAC;QACD,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC1F,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrH,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrE,+EAA+E;QAC/E,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8GAA8G,EAAE,KAAK,IAAI,EAAE;QAC5H,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/D,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,sBAAsB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChI,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrH,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,OAAO,GAAG,IAAI,EAAE,CAAC;QAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACxF,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4GAA4G,EAAE,KAAK,IAAI,EAAE;QAC1H,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrI,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACvH,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;QAAC,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrH,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,cAAe,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1G,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC/I,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3G,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACxI,MAAM,OAAO,CAAC;QAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAAC,MAAM,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpJ,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -344,9 +344,7 @@ describe('WorkspaceBackgroundService', () => {
|
|
|
344
344
|
await shutdown;
|
|
345
345
|
}
|
|
346
346
|
expect(manager.startCalls).toHaveBeenCalledTimes(1);
|
|
347
|
-
expect(await service.list(workspace.id)).toEqual([
|
|
348
|
-
expect.objectContaining({ desiredState: 'RUNNING', runtimeState: 'STOPPED' }),
|
|
349
|
-
]);
|
|
347
|
+
expect(await service.list(workspace.id)).toEqual([]);
|
|
350
348
|
});
|
|
351
349
|
it('retains a failed shutdown owner and retries it on the next attempt', async () => {
|
|
352
350
|
const manager = new FakeProcessManager();
|
|
@@ -360,46 +358,96 @@ describe('WorkspaceBackgroundService', () => {
|
|
|
360
358
|
await service.shutdown();
|
|
361
359
|
expect(manager.has(running.id)).toBe(false);
|
|
362
360
|
});
|
|
363
|
-
it('
|
|
361
|
+
it('keeps services stopped after app restart until explicitly started again', async () => {
|
|
364
362
|
const manager = new FakeProcessManager();
|
|
365
363
|
const service = new WorkspaceBackgroundService(manager);
|
|
366
364
|
const { workspace } = await createWorkspace('shutdown');
|
|
367
|
-
await service.start(workspace.id, 'web', { command: 'node' });
|
|
365
|
+
const running = await service.start(workspace.id, 'web', { command: 'node' });
|
|
368
366
|
await service.shutdown();
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
367
|
+
expect(manager.has(running.id)).toBe(false);
|
|
368
|
+
await expect(prisma.workspaceBackgroundService.findUniqueOrThrow({ where: { id: running.id } }))
|
|
369
|
+
.resolves.toMatchObject({
|
|
370
|
+
desiredState: 'STOPPED',
|
|
371
|
+
runtimeState: 'STOPPED',
|
|
372
|
+
runtimeInstanceId: null,
|
|
373
|
+
pid: null,
|
|
374
|
+
});
|
|
372
375
|
await expect(service.reconcile()).rejects.toMatchObject({ code: 'SERVICE_SHUTTING_DOWN' });
|
|
373
|
-
const
|
|
374
|
-
|
|
375
|
-
await
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
expect(
|
|
376
|
+
const restartedManager = new FakeProcessManager();
|
|
377
|
+
const restartedService = new WorkspaceBackgroundService(restartedManager);
|
|
378
|
+
await restartedService.reconcile();
|
|
379
|
+
await expect(restartedService.list(workspace.id)).resolves.toEqual([]);
|
|
380
|
+
expect(restartedManager.startCalls).not.toHaveBeenCalled();
|
|
381
|
+
await expect(restartedService.start(workspace.id, 'web', { command: 'node' }))
|
|
382
|
+
.resolves.toMatchObject({ id: running.id, desiredState: 'RUNNING', runtimeState: 'RUNNING' });
|
|
383
|
+
expect(restartedManager.startCalls).toHaveBeenCalledTimes(1);
|
|
384
|
+
await restartedService.shutdown();
|
|
385
|
+
});
|
|
386
|
+
it('clears legacy launch intent and stale runtimes across tasks without starting services', async () => {
|
|
387
|
+
const manager = new FakeProcessManager();
|
|
388
|
+
const service = new WorkspaceBackgroundService(manager);
|
|
389
|
+
const records = [];
|
|
390
|
+
for (const runtimeState of ['STARTING', 'RUNNING', 'STOPPING', 'STOPPED', 'EXITED', 'FAILED']) {
|
|
391
|
+
const { workspace } = await createWorkspace(`startup-${runtimeState}`);
|
|
392
|
+
const hasRuntime = ['STARTING', 'RUNNING', 'STOPPING'].includes(runtimeState);
|
|
393
|
+
records.push(await prisma.workspaceBackgroundService.create({
|
|
394
|
+
data: {
|
|
395
|
+
workspaceId: workspace.id,
|
|
396
|
+
name: 'web',
|
|
397
|
+
command: 'node',
|
|
398
|
+
argsJson: '["server.js"]',
|
|
399
|
+
desiredState: 'RUNNING',
|
|
400
|
+
runtimeState,
|
|
401
|
+
runtimeInstanceId: hasRuntime ? `old-${runtimeState}` : null,
|
|
402
|
+
pid: hasRuntime ? 12345 : null,
|
|
403
|
+
},
|
|
404
|
+
}));
|
|
405
|
+
}
|
|
406
|
+
await service.reconcile();
|
|
407
|
+
expect(manager.startCalls).not.toHaveBeenCalled();
|
|
408
|
+
for (const record of records) {
|
|
409
|
+
await expect(service.list(record.workspaceId)).resolves.toEqual([]);
|
|
410
|
+
await expect(prisma.workspaceBackgroundService.findUniqueOrThrow({ where: { id: record.id } }))
|
|
411
|
+
.resolves.toMatchObject({
|
|
412
|
+
command: 'node',
|
|
413
|
+
argsJson: '["server.js"]',
|
|
414
|
+
desiredState: 'STOPPED',
|
|
415
|
+
runtimeState: 'STOPPED',
|
|
416
|
+
runtimeInstanceId: null,
|
|
417
|
+
pid: null,
|
|
418
|
+
stoppedAt: expect.any(Date),
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
await expect(service.restart(records[0].workspaceId, 'web'))
|
|
422
|
+
.resolves.toMatchObject({ id: records[0].id, desiredState: 'RUNNING', runtimeState: 'RUNNING' });
|
|
423
|
+
expect(manager.startCalls).toHaveBeenCalledTimes(1);
|
|
424
|
+
await service.shutdown();
|
|
379
425
|
});
|
|
380
|
-
it(
|
|
426
|
+
it.each([
|
|
427
|
+
{ relativeCwd: 'missing-directory', argsJson: '[]' },
|
|
428
|
+
{ relativeCwd: '.', argsJson: 'invalid-json' },
|
|
429
|
+
])('does not attempt to launch an obsolete service configuration on startup: %j', async (spec) => {
|
|
381
430
|
const manager = new FakeProcessManager();
|
|
382
431
|
const service = new WorkspaceBackgroundService(manager);
|
|
383
|
-
const { workspace } = await createWorkspace('
|
|
384
|
-
await prisma.workspaceBackgroundService.create({
|
|
432
|
+
const { workspace } = await createWorkspace('obsolete-service');
|
|
433
|
+
const record = await prisma.workspaceBackgroundService.create({
|
|
385
434
|
data: {
|
|
386
435
|
workspaceId: workspace.id,
|
|
387
436
|
name: 'web',
|
|
388
437
|
command: 'node',
|
|
389
|
-
|
|
390
|
-
relativeCwd: 'missing-directory',
|
|
438
|
+
...spec,
|
|
391
439
|
desiredState: 'RUNNING',
|
|
392
440
|
runtimeState: 'STOPPED',
|
|
393
441
|
},
|
|
394
442
|
});
|
|
395
443
|
await service.reconcile();
|
|
396
|
-
await expect(service.list(workspace.id)).resolves.toEqual([
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
444
|
+
await expect(service.list(workspace.id)).resolves.toEqual([]);
|
|
445
|
+
await expect(prisma.workspaceBackgroundService.findUniqueOrThrow({ where: { id: record.id } }))
|
|
446
|
+
.resolves.toMatchObject({
|
|
447
|
+
desiredState: 'STOPPED',
|
|
448
|
+
runtimeState: 'STOPPED',
|
|
449
|
+
lastError: null,
|
|
450
|
+
});
|
|
403
451
|
expect(manager.startCalls).not.toHaveBeenCalled();
|
|
404
452
|
});
|
|
405
453
|
it('releases every service log buffer when its workspace entity is deleted', async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-background-service.service.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/workspace-background-service.service.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-background-service.service.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/workspace-background-service.service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -357,6 +357,42 @@ describe('WorkspaceService TeamRun workspace lifecycle', () => {
|
|
|
357
357
|
expect(await prisma.executionProcess.count({ where: { sessionId: workspace.sessions[0].id } })).toBe(1);
|
|
358
358
|
expect(removeWorktreeMock).not.toHaveBeenCalled();
|
|
359
359
|
});
|
|
360
|
+
it('merges a subtask into the parent worktree without completing the parent task', async () => {
|
|
361
|
+
const { project, task: parent } = await createTask('Subtask merge');
|
|
362
|
+
const parentWorkspace = await prisma.workspace.create({ data: {
|
|
363
|
+
taskId: parent.id, branchName: 'at/parent', baseBranch: 'main', worktreePath: '/parent',
|
|
364
|
+
} });
|
|
365
|
+
const child = await prisma.task.create({ data: { projectId: project.id, title: 'Child', parentTaskId: parent.id, baseBranch: 'at/parent', status: 'IN_REVIEW' } });
|
|
366
|
+
const childWorkspace = await prisma.workspace.create({ data: {
|
|
367
|
+
taskId: child.id, branchName: 'at/child', baseBranch: 'at/parent', worktreePath: '/child',
|
|
368
|
+
} });
|
|
369
|
+
await service.merge(childWorkspace.id);
|
|
370
|
+
expect(mergeWorktreeMock).toHaveBeenCalledWith('/child', 'at/parent', expect.objectContaining({ targetWorktreePath: '/parent' }));
|
|
371
|
+
expect((await prisma.task.findUniqueOrThrow({ where: { id: child.id } })).status).toBe('DONE');
|
|
372
|
+
expect((await prisma.task.findUniqueOrThrow({ where: { id: parent.id } })).status).toBe('TODO');
|
|
373
|
+
expect((await prisma.workspace.findUniqueOrThrow({ where: { id: parentWorkspace.id } })).status).toBe('ACTIVE');
|
|
374
|
+
});
|
|
375
|
+
it('blocks a subtask merge while its parent has an active write session', async () => {
|
|
376
|
+
const { project, task: parent } = await createTask('Busy parent');
|
|
377
|
+
const parentWorkspace = await prisma.workspace.create({ data: { taskId: parent.id, branchName: 'at/parent', baseBranch: 'main', worktreePath: '/parent' } });
|
|
378
|
+
const child = await prisma.task.create({ data: { projectId: project.id, title: 'Child', parentTaskId: parent.id } });
|
|
379
|
+
const workspace = await prisma.workspace.create({ data: { taskId: child.id, branchName: 'at/child', baseBranch: 'at/parent', worktreePath: '/child' } });
|
|
380
|
+
await prisma.session.create({ data: { workspaceId: parentWorkspace.id, agentType: 'CODEX', prompt: 'busy', status: 'RUNNING' } });
|
|
381
|
+
await expect(service.merge(workspace.id)).rejects.toMatchObject({ code: 'PARENT_WORKSPACE_HAS_ACTIVE_SESSION' });
|
|
382
|
+
expect(mergeWorktreeMock).not.toHaveBeenCalled();
|
|
383
|
+
});
|
|
384
|
+
it('retains a merged parent branch and its ownership until its subtasks no longer depend on it', async () => {
|
|
385
|
+
const { project, task: parent } = await createTask('Retain parent branch');
|
|
386
|
+
await prisma.task.update({ where: { id: parent.id }, data: { status: 'DONE' } });
|
|
387
|
+
const workspace = await prisma.workspace.create({ data: { taskId: parent.id, branchName: 'at/parent', baseBranch: 'main', worktreePath: '/parent', status: 'MERGED' } });
|
|
388
|
+
const child = await prisma.task.create({ data: { projectId: project.id, title: 'Child', parentTaskId: parent.id, baseBranch: 'at/parent' } });
|
|
389
|
+
await service.cleanup();
|
|
390
|
+
expect(deleteBranchIfSafeMock).not.toHaveBeenCalled();
|
|
391
|
+
expect(await prisma.workspace.findUnique({ where: { id: workspace.id } })).not.toBeNull();
|
|
392
|
+
await prisma.task.update({ where: { id: child.id }, data: { deletedAt: new Date() } });
|
|
393
|
+
await service.cleanup();
|
|
394
|
+
expect(deleteBranchIfSafeMock).toHaveBeenCalledWith('at/parent', expect.anything());
|
|
395
|
+
});
|
|
360
396
|
it('creates a main-directory workspace without creating a git worktree', async () => {
|
|
361
397
|
const { project, task } = await createTask('main directory workspace task');
|
|
362
398
|
const workspace = await service.create(task.id, {
|
|
@@ -373,6 +409,40 @@ describe('WorkspaceService TeamRun workspace lifecycle', () => {
|
|
|
373
409
|
expect(createWorktreeMock).not.toHaveBeenCalled();
|
|
374
410
|
expect(ensureWorktreeExistsMock).not.toHaveBeenCalled();
|
|
375
411
|
});
|
|
412
|
+
it('uses the saved task base for delayed root creation and keeps the legacy fallback', async () => {
|
|
413
|
+
const { project, task } = await createTask('saved task base');
|
|
414
|
+
await prisma.task.update({ where: { id: task.id }, data: { baseBranch: 'develop' } });
|
|
415
|
+
await prisma.project.update({ where: { id: project.id }, data: { mainBranch: 'release' } });
|
|
416
|
+
const workspace = await service.create(task.id);
|
|
417
|
+
expect(workspace.baseBranch).toBe('develop');
|
|
418
|
+
expect(createWorktreeMock).toHaveBeenCalledWith(workspace.branchName, 'refs/heads/develop');
|
|
419
|
+
const legacyTask = await prisma.task.create({ data: { title: 'Legacy', projectId: project.id } });
|
|
420
|
+
const legacy = await service.create(legacyTask.id);
|
|
421
|
+
expect(legacy.baseBranch).toBe('release');
|
|
422
|
+
expect(createWorktreeMock).toHaveBeenCalledWith(legacy.branchName, 'refs/heads/release');
|
|
423
|
+
});
|
|
424
|
+
it('applies the task base to the team main workspace while children branch from the main workspace', async () => {
|
|
425
|
+
const { task, teamRun, member } = await createTeamRunWithMember();
|
|
426
|
+
await prisma.task.update({ where: { id: task.id }, data: { baseBranch: 'develop' } });
|
|
427
|
+
const main = await service.getOrCreateMainWorkspace(teamRun.id);
|
|
428
|
+
const child = await service.getOrCreateDedicatedWorkspace(teamRun.id, member.id);
|
|
429
|
+
expect(main.baseBranch).toBe('develop');
|
|
430
|
+
expect(createWorktreeMock).toHaveBeenCalledWith(main.branchName, 'refs/heads/develop');
|
|
431
|
+
expect(child.baseBranch).toBe(main.branchName);
|
|
432
|
+
expect(createWorktreeMock).toHaveBeenCalledWith(child.branchName, main.branchName);
|
|
433
|
+
});
|
|
434
|
+
it('rejects a task base deleted before workspace creation and removes the placeholder', async () => {
|
|
435
|
+
const { task } = await createTask('deleted task base');
|
|
436
|
+
await prisma.task.update({ where: { id: task.id }, data: { baseBranch: 'deleted' } });
|
|
437
|
+
execGitMock.mockImplementation(async (_path, args) => {
|
|
438
|
+
if (args[0] === 'show-ref' && args.includes('refs/heads/deleted'))
|
|
439
|
+
throw new Error('missing');
|
|
440
|
+
return '';
|
|
441
|
+
});
|
|
442
|
+
await expect(service.create(task.id)).rejects.toMatchObject({ code: 'INVALID_BASE_BRANCH' });
|
|
443
|
+
expect(createWorktreeMock).not.toHaveBeenCalled();
|
|
444
|
+
expect(await prisma.workspace.count({ where: { taskId: task.id } })).toBe(0);
|
|
445
|
+
});
|
|
376
446
|
it('omits session prompt and logSnapshot from workspace task lists', async () => {
|
|
377
447
|
const { task } = await createTask('workspace session summary task');
|
|
378
448
|
const workspace = await prisma.workspace.create({
|