@knpkv/control-center 0.9.0 → 0.9.1
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 +3 -2
- package/dist/client/.vite/manifest.json +430 -430
- package/dist/client/assets/{ActiveWorkPage-Upg00yYW.js → ActiveWorkPage-zWJnB-Cc.js} +2 -2
- package/dist/client/assets/{ActiveWorkPage-Upg00yYW.js.map → ActiveWorkPage-zWJnB-Cc.js.map} +1 -1
- package/dist/client/assets/{AgentPage-BCtDk8yR.js → AgentPage-DCrGAe9-.js} +2 -2
- package/dist/client/assets/{AgentPage-BCtDk8yR.js.map → AgentPage-DCrGAe9-.js.map} +1 -1
- package/dist/client/assets/{AtlassianOAuthCallbackPage-ChTCY_Un.js → AtlassianOAuthCallbackPage-DiYS-wZV.js} +2 -2
- package/dist/client/assets/{AtlassianOAuthCallbackPage-ChTCY_Un.js.map → AtlassianOAuthCallbackPage-DiYS-wZV.js.map} +1 -1
- package/dist/client/assets/{AuthorizedSharePage-BEk1V9hS.js → AuthorizedSharePage-D69hX3jN.js} +2 -2
- package/dist/client/assets/{AuthorizedSharePage-BEk1V9hS.js.map → AuthorizedSharePage-D69hX3jN.js.map} +1 -1
- package/dist/client/assets/{BrowserSessionHydrator-CB9DxOnS.js → BrowserSessionHydrator-DuScelRj.js} +2 -2
- package/dist/client/assets/{BrowserSessionHydrator-CB9DxOnS.js.map → BrowserSessionHydrator-DuScelRj.js.map} +1 -1
- package/dist/client/assets/{CommandSearch-ZtucgGqT.js → CommandSearch-BxhhZB25.js} +2 -2
- package/dist/client/assets/{CommandSearch-ZtucgGqT.js.map → CommandSearch-BxhhZB25.js.map} +1 -1
- package/dist/client/assets/{Dialog-CplGpe1F-DvPHUaxb.js → Dialog-CplGpe1F-DeMJtg-H.js} +2 -2
- package/dist/client/assets/{Dialog-CplGpe1F-DvPHUaxb.js.map → Dialog-CplGpe1F-DeMJtg-H.js.map} +1 -1
- package/dist/client/assets/{ItemsPage-rWXr2AYt.js → ItemsPage-BoSTawlJ.js} +2 -2
- package/dist/client/assets/{ItemsPage-rWXr2AYt.js.map → ItemsPage-BoSTawlJ.js.map} +1 -1
- package/dist/client/assets/{OpenPullRequestPage-C7Uo5MRd.js → OpenPullRequestPage-BfzPMfn_.js} +2 -2
- package/dist/client/assets/{OpenPullRequestPage-C7Uo5MRd.js.map → OpenPullRequestPage-BfzPMfn_.js.map} +1 -1
- package/dist/client/assets/{Pages-D2qsa2F2.js → Pages-DGc7_0RQ.js} +2 -2
- package/dist/client/assets/{Pages-D2qsa2F2.js.map → Pages-DGc7_0RQ.js.map} +1 -1
- package/dist/client/assets/{PairPage-DhpqcT8c.js → PairPage-DCNv3CTt.js} +2 -2
- package/dist/client/assets/{PairPage-DhpqcT8c.js.map → PairPage-DCNv3CTt.js.map} +1 -1
- package/dist/client/assets/{PortfolioOverview-mX6k5nL-.js → PortfolioOverview-Cnnxhgpt.js} +2 -2
- package/dist/client/assets/{PortfolioOverview-mX6k5nL-.js.map → PortfolioOverview-Cnnxhgpt.js.map} +1 -1
- package/dist/client/assets/{PullRequestReviewPanel-DoI2jcWK.js → PullRequestReviewPanel-Blbjn1Ns.js} +4 -4
- package/dist/client/assets/{PullRequestReviewPanel-DoI2jcWK.js.map → PullRequestReviewPanel-Blbjn1Ns.js.map} +1 -1
- package/dist/client/assets/{ReleaseRoute-C80uadO-.js → ReleaseRoute-0QrCZbE4.js} +2 -2
- package/dist/client/assets/{ReleaseRoute-C80uadO-.js.map → ReleaseRoute-0QrCZbE4.js.map} +1 -1
- package/dist/client/assets/{ReleaseWorkset-D2Q-pMv0.js → ReleaseWorkset-DxZ0mgJC.js} +2 -2
- package/dist/client/assets/{ReleaseWorkset-D2Q-pMv0.js.map → ReleaseWorkset-DxZ0mgJC.js.map} +1 -1
- package/dist/client/assets/{ReviewSuggestionOverview-BMy26AXn.js → ReviewSuggestionOverview-CZyq_yfx.js} +2 -2
- package/dist/client/assets/{ReviewSuggestionOverview-BMy26AXn.js.map → ReviewSuggestionOverview-CZyq_yfx.js.map} +1 -1
- package/dist/client/assets/{ReviewSuggestionPublicationSurface-CRWl9aYb.js → ReviewSuggestionPublicationSurface-B6b8PzT8.js} +2 -2
- package/dist/client/assets/{ReviewSuggestionPublicationSurface-CRWl9aYb.js.map → ReviewSuggestionPublicationSurface-B6b8PzT8.js.map} +1 -1
- package/dist/client/assets/{ServicesPage-Bfr3sYg7.js → ServicesPage-zCaWYAK6.js} +2 -2
- package/dist/client/assets/{ServicesPage-Bfr3sYg7.js.map → ServicesPage-zCaWYAK6.js.map} +1 -1
- package/dist/client/assets/{TimelinePage-52RmwoTM.js → TimelinePage-5cMSPV9K.js} +2 -2
- package/dist/client/assets/{TimelinePage-52RmwoTM.js.map → TimelinePage-5cMSPV9K.js.map} +1 -1
- package/dist/client/assets/{WorkspaceEntityLink-DwxZwXwT.js → WorkspaceEntityLink-CW3XgIHd.js} +2 -2
- package/dist/client/assets/{WorkspaceEntityLink-DwxZwXwT.js.map → WorkspaceEntityLink-CW3XgIHd.js.map} +1 -1
- package/dist/client/assets/{WorkspaceEntityRoute-BWvMo9IK.js → WorkspaceEntityRoute-HlXUP8jk.js} +4 -4
- package/dist/client/assets/{WorkspaceEntityRoute-BWvMo9IK.js.map → WorkspaceEntityRoute-HlXUP8jk.js.map} +1 -1
- package/dist/client/assets/WorkspaceHomeLink-Bkd98CxT.js +2 -0
- package/dist/client/assets/{WorkspaceHomeLink-Vs72lXwi.js.map → WorkspaceHomeLink-Bkd98CxT.js.map} +1 -1
- package/dist/client/assets/{WorkspacePullRequestDetails-yNQRd79F.js → WorkspacePullRequestDetails-mIv0fssg.js} +3 -3
- package/dist/client/assets/{WorkspacePullRequestDetails-yNQRd79F.js.map → WorkspacePullRequestDetails-mIv0fssg.js.map} +1 -1
- package/dist/client/assets/{WorkspaceReleaseLayout-Ci-HsUIO.js → WorkspaceReleaseLayout-D2RrmuSp.js} +2 -2
- package/dist/client/assets/{WorkspaceReleaseLayout-Ci-HsUIO.js.map → WorkspaceReleaseLayout-D2RrmuSp.js.map} +1 -1
- package/dist/client/assets/{WorkspaceSettingsPage-CiQKaJv2.js → WorkspaceSettingsPage-CiVpUW2n.js} +2 -2
- package/dist/client/assets/{WorkspaceSettingsPage-CiQKaJv2.js.map → WorkspaceSettingsPage-CiVpUW2n.js.map} +1 -1
- package/dist/client/assets/{angular-html-B-gwpVlh-Cq4vjMyj.js → angular-html-B-gwpVlh-Cymx1bgk.js} +2 -2
- package/dist/client/assets/{angular-html-B-gwpVlh-Cq4vjMyj.js.map → angular-html-B-gwpVlh-Cymx1bgk.js.map} +1 -1
- package/dist/client/assets/{angular-ts-BdaH9qH_-e9JuDelg.js → angular-ts-BdaH9qH_-DfV0rlVi.js} +2 -2
- package/dist/client/assets/{angular-ts-BdaH9qH_-e9JuDelg.js.map → angular-ts-BdaH9qH_-DfV0rlVi.js.map} +1 -1
- package/dist/client/assets/{apl-BLTDDucx-BzhLkVBd.js → apl-BLTDDucx-QGqL8Zyu.js} +2 -2
- package/dist/client/assets/{apl-BLTDDucx-BzhLkVBd.js.map → apl-BLTDDucx-QGqL8Zyu.js.map} +1 -1
- package/dist/client/assets/{astro-CM3EIsEH-Ow1Hk5_H.js → astro-CM3EIsEH-UPw08TJg.js} +2 -2
- package/dist/client/assets/{astro-CM3EIsEH-Ow1Hk5_H.js.map → astro-CM3EIsEH-UPw08TJg.js.map} +1 -1
- package/dist/client/assets/{blade-BuLZ1b4i-BEq2hRPF.js → blade-BuLZ1b4i-DveZJd7d.js} +2 -2
- package/dist/client/assets/{blade-BuLZ1b4i-BEq2hRPF.js.map → blade-BuLZ1b4i-DveZJd7d.js.map} +1 -1
- package/dist/client/assets/{c-BOe7FNWg-b0CPmvGq.js → c-BOe7FNWg-C6rvzF2w.js} +2 -2
- package/dist/client/assets/{c-BOe7FNWg-b0CPmvGq.js.map → c-BOe7FNWg-C6rvzF2w.js.map} +1 -1
- package/dist/client/assets/{chapel-DS426I0C-Bdl9gjGU.js → chapel-DS426I0C-CyMEywxj.js} +2 -2
- package/dist/client/assets/{chapel-DS426I0C-Bdl9gjGU.js.map → chapel-DS426I0C-CyMEywxj.js.map} +1 -1
- package/dist/client/assets/{cobol-D88xw2SU-B-tWRYTQ.js → cobol-D88xw2SU-CJdybb9y.js} +2 -2
- package/dist/client/assets/{cobol-D88xw2SU-B-tWRYTQ.js.map → cobol-D88xw2SU-CJdybb9y.js.map} +1 -1
- package/dist/client/assets/{coffee-9O-pYXz5-CIYW8apR.js → coffee-9O-pYXz5-CwYHswTW.js} +2 -2
- package/dist/client/assets/{coffee-9O-pYXz5-CIYW8apR.js.map → coffee-9O-pYXz5-CwYHswTW.js.map} +1 -1
- package/dist/client/assets/{controlCenterRelayDock-zaVoWYIC.js → controlCenterRelayDock-BJGzwNRb.js} +3 -3
- package/dist/client/assets/{controlCenterRelayDock-zaVoWYIC.js.map → controlCenterRelayDock-BJGzwNRb.js.map} +1 -1
- package/dist/client/assets/{controlCenterRelayDockChrome-BYmBsXTg.js → controlCenterRelayDockChrome-NY7Yy3Wd.js} +2 -2
- package/dist/client/assets/{controlCenterRelayDockChrome-BYmBsXTg.js.map → controlCenterRelayDockChrome-NY7Yy3Wd.js.map} +1 -1
- package/dist/client/assets/{cpp-CPk7VU6o-BaDGXMSE.js → cpp-CPk7VU6o-meCcDOMv.js} +2 -2
- package/dist/client/assets/{cpp-CPk7VU6o-BaDGXMSE.js.map → cpp-CPk7VU6o-meCcDOMv.js.map} +1 -1
- package/dist/client/assets/{crystal-CRftOMVe-DHnKmVfR.js → crystal-CRftOMVe-BqF5ZH9X.js} +2 -2
- package/dist/client/assets/{crystal-CRftOMVe-DHnKmVfR.js.map → crystal-CRftOMVe-BqF5ZH9X.js.map} +1 -1
- package/dist/client/assets/{css-DKjIhbA_-CHqfnemG.js → css-DKjIhbA_-bArDG2fj.js} +2 -2
- package/dist/client/assets/{css-DKjIhbA_-CHqfnemG.js.map → css-DKjIhbA_-bArDG2fj.js.map} +1 -1
- package/dist/client/assets/{diff-BeVL1ItO.js → diff-BwuHSQEv.js} +3 -3
- package/dist/client/assets/{diff-BeVL1ItO.js.map → diff-BwuHSQEv.js.map} +1 -1
- package/dist/client/assets/{edge-CZci3foK-BGBPQtXV.js → edge-CZci3foK-Baej4bS3.js} +2 -2
- package/dist/client/assets/{edge-CZci3foK-BGBPQtXV.js.map → edge-CZci3foK-Baej4bS3.js.map} +1 -1
- package/dist/client/assets/{elixir-BFbWRTPN-D8ufalD-.js → elixir-BFbWRTPN-BWJLR11U.js} +2 -2
- package/dist/client/assets/{elixir-BFbWRTPN-D8ufalD-.js.map → elixir-BFbWRTPN-BWJLR11U.js.map} +1 -1
- package/dist/client/assets/{elm-BFCSOEGh-BWI2TEHg.js → elm-BFCSOEGh-CpyI6Neq.js} +2 -2
- package/dist/client/assets/{elm-BFCSOEGh-BWI2TEHg.js.map → elm-BFCSOEGh-CpyI6Neq.js.map} +1 -1
- package/dist/client/assets/{erb-C0EkZJvn-CGeW6FLC.js → erb-C0EkZJvn-Beo0qNuA.js} +2 -2
- package/dist/client/assets/{erb-C0EkZJvn-CGeW6FLC.js.map → erb-C0EkZJvn-Beo0qNuA.js.map} +1 -1
- package/dist/client/assets/{git-rebase-DBDs07B2-C__RuUYe.js → git-rebase-DBDs07B2-Br9li6by.js} +2 -2
- package/dist/client/assets/{git-rebase-DBDs07B2-C__RuUYe.js.map → git-rebase-DBDs07B2-Br9li6by.js.map} +1 -1
- package/dist/client/assets/{glimmer-js-oqYt1Bty-vrJ7QEYA.js → glimmer-js-oqYt1Bty-CI97juJO.js} +2 -2
- package/dist/client/assets/{glimmer-js-oqYt1Bty-vrJ7QEYA.js.map → glimmer-js-oqYt1Bty-CI97juJO.js.map} +1 -1
- package/dist/client/assets/{glimmer-ts-CjmgbZTn-CZyNz47e.js → glimmer-ts-CjmgbZTn-CFc8doTi.js} +2 -2
- package/dist/client/assets/{glimmer-ts-CjmgbZTn-CZyNz47e.js.map → glimmer-ts-CjmgbZTn-CFc8doTi.js.map} +1 -1
- package/dist/client/assets/{glsl-BqUMGrwT-BZCkTWpI.js → glsl-BqUMGrwT-BVf1nX6P.js} +2 -2
- package/dist/client/assets/{glsl-BqUMGrwT-BZCkTWpI.js.map → glsl-BqUMGrwT-BVf1nX6P.js.map} +1 -1
- package/dist/client/assets/{graphql-CEJryLGF-DDeR3BFq.js → graphql-CEJryLGF-CfFuHqok.js} +2 -2
- package/dist/client/assets/{graphql-CEJryLGF-DDeR3BFq.js.map → graphql-CEJryLGF-CfFuHqok.js.map} +1 -1
- package/dist/client/assets/{hack-DwBIwaGr-BeH7XNPv.js → hack-DwBIwaGr-BPMqrtdG.js} +2 -2
- package/dist/client/assets/{hack-DwBIwaGr-BeH7XNPv.js.map → hack-DwBIwaGr-BPMqrtdG.js.map} +1 -1
- package/dist/client/assets/{haml-BgD6GFV2-CCEflW5Z.js → haml-BgD6GFV2-Di-RgCFS.js} +2 -2
- package/dist/client/assets/{haml-BgD6GFV2-CCEflW5Z.js.map → haml-BgD6GFV2-Di-RgCFS.js.map} +1 -1
- package/dist/client/assets/{handlebars-DAEAtsmp-Dqwx0Kwh.js → handlebars-DAEAtsmp-BpuAuOPs.js} +2 -2
- package/dist/client/assets/{handlebars-DAEAtsmp-Dqwx0Kwh.js.map → handlebars-DAEAtsmp-BpuAuOPs.js.map} +1 -1
- package/dist/client/assets/{html-B63qAdeQ-BjlpEcyt.js → html-B63qAdeQ-Bp_oaeLi.js} +2 -2
- package/dist/client/assets/{html-B63qAdeQ-BjlpEcyt.js.map → html-B63qAdeQ-Bp_oaeLi.js.map} +1 -1
- package/dist/client/assets/{html-derivative-DliF0Izh-Dq9RKlA8.js → html-derivative-DliF0Izh-Bw81poXH.js} +2 -2
- package/dist/client/assets/{html-derivative-DliF0Izh-Dq9RKlA8.js.map → html-derivative-DliF0Izh-Bw81poXH.js.map} +1 -1
- package/dist/client/assets/{http-BPdteiK2-Cj-CMxKK.js → http-BPdteiK2-BBjGiW6O.js} +2 -2
- package/dist/client/assets/{http-BPdteiK2-Cj-CMxKK.js.map → http-BPdteiK2-BBjGiW6O.js.map} +1 -1
- package/dist/client/assets/{hurl-y6bQoMbn-DeXMgrrh.js → hurl-y6bQoMbn-CGKICVmL.js} +2 -2
- package/dist/client/assets/{hurl-y6bQoMbn-DeXMgrrh.js.map → hurl-y6bQoMbn-CGKICVmL.js.map} +1 -1
- package/dist/client/assets/{index-E-cqUXMY.js → index-fW9vMAFR.js} +3 -3
- package/dist/client/assets/{index-E-cqUXMY.js.map → index-fW9vMAFR.js.map} +1 -1
- package/dist/client/assets/{java-HDTZqoJ--BO-Jj0c5.js → java-HDTZqoJ--BeIYdX-t.js} +2 -2
- package/dist/client/assets/{java-HDTZqoJ--BO-Jj0c5.js.map → java-HDTZqoJ--BeIYdX-t.js.map} +1 -1
- package/dist/client/assets/{javascript-B8-PXjxO-CNlEZ_U-.js → javascript-B8-PXjxO-C4s21pIs.js} +2 -2
- package/dist/client/assets/{javascript-B8-PXjxO-CNlEZ_U-.js.map → javascript-B8-PXjxO-C4s21pIs.js.map} +1 -1
- package/dist/client/assets/{jinja-Li2helwk-CViXQJpU.js → jinja-Li2helwk-BCopqVIq.js} +2 -2
- package/dist/client/assets/{jinja-Li2helwk-CViXQJpU.js.map → jinja-Li2helwk-BCopqVIq.js.map} +1 -1
- package/dist/client/assets/{jison-D4pd2L4r-BoCbGSBL.js → jison-D4pd2L4r-CTDGIVzo.js} +2 -2
- package/dist/client/assets/{jison-D4pd2L4r-BoCbGSBL.js.map → jison-D4pd2L4r-CTDGIVzo.js.map} +1 -1
- package/dist/client/assets/{json-CHeq_08V-B5PDP4--.js → json-CHeq_08V-CdHymei0.js} +2 -2
- package/dist/client/assets/{json-CHeq_08V-B5PDP4--.js.map → json-CHeq_08V-CdHymei0.js.map} +1 -1
- package/dist/client/assets/{jsx-CTDAtxCE-YPyPyysB.js → jsx-CTDAtxCE-BKJFk7NT.js} +2 -2
- package/dist/client/assets/{jsx-CTDAtxCE-YPyPyysB.js.map → jsx-CTDAtxCE-BKJFk7NT.js.map} +1 -1
- package/dist/client/assets/{julia-B8HGxjvO-B7cty-kU.js → julia-B8HGxjvO-DbZcmZnq.js} +2 -2
- package/dist/client/assets/{julia-B8HGxjvO-B7cty-kU.js.map → julia-B8HGxjvO-DbZcmZnq.js.map} +1 -1
- package/dist/client/assets/{just-C1IY8eCo-BHAYLNfG.js → just-C1IY8eCo-DnzjlI44.js} +2 -2
- package/dist/client/assets/{just-C1IY8eCo-BHAYLNfG.js.map → just-C1IY8eCo-DnzjlI44.js.map} +1 -1
- package/dist/client/assets/{latex-CWjLpLhK-D7HTZDbj.js → latex-CWjLpLhK-BRJ7QYc1.js} +2 -2
- package/dist/client/assets/{latex-CWjLpLhK-D7HTZDbj.js.map → latex-CWjLpLhK-BRJ7QYc1.js.map} +1 -1
- package/dist/client/assets/{liquid-DO0vm52w-lvCobhXx.js → liquid-DO0vm52w-COb7GO7S.js} +2 -2
- package/dist/client/assets/{liquid-DO0vm52w-lvCobhXx.js.map → liquid-DO0vm52w-COb7GO7S.js.map} +1 -1
- package/dist/client/assets/{lua-rOZn354j-ODMkPdxs.js → lua-rOZn354j-B2CBXdd4.js} +2 -2
- package/dist/client/assets/{lua-rOZn354j-ODMkPdxs.js.map → lua-rOZn354j-B2CBXdd4.js.map} +1 -1
- package/dist/client/assets/{marko-CiZdnOV9-D9_XzPtX.js → marko-CiZdnOV9-CrlbLtbs.js} +2 -2
- package/dist/client/assets/{marko-CiZdnOV9-D9_XzPtX.js.map → marko-CiZdnOV9-CrlbLtbs.js.map} +1 -1
- package/dist/client/assets/{mdc-D1ADfxGi-B9kHGPaY.js → mdc-D1ADfxGi-5tloi5Ku.js} +2 -2
- package/dist/client/assets/{mdc-D1ADfxGi-B9kHGPaY.js.map → mdc-D1ADfxGi-5tloi5Ku.js.map} +1 -1
- package/dist/client/assets/{nginx-8KXIzHX2-8svBtm3U.js → nginx-8KXIzHX2-Y9gA2lux.js} +2 -2
- package/dist/client/assets/{nginx-8KXIzHX2-8svBtm3U.js.map → nginx-8KXIzHX2-Y9gA2lux.js.map} +1 -1
- package/dist/client/assets/{nim-CbBDSJf5-Ba_yd7rp.js → nim-CbBDSJf5-1Pnbq29n.js} +2 -2
- package/dist/client/assets/{nim-CbBDSJf5-Ba_yd7rp.js.map → nim-CbBDSJf5-1Pnbq29n.js.map} +1 -1
- package/dist/client/assets/{org-BlnOvN6p-Dvs9aaDc.js → org-BlnOvN6p-CUznrYZp.js} +2 -2
- package/dist/client/assets/{org-BlnOvN6p-Dvs9aaDc.js.map → org-BlnOvN6p-CUznrYZp.js.map} +1 -1
- package/dist/client/assets/{patterns-C3f2OP8b.js → patterns-Bc4kz9tn.js} +2 -2
- package/dist/client/assets/{patterns-C3f2OP8b.js.map → patterns-Bc4kz9tn.js.map} +1 -1
- package/dist/client/assets/{perl-CntHWu4k-2uoQgsvj.js → perl-CntHWu4k-BhS1nQNx.js} +2 -2
- package/dist/client/assets/{perl-CntHWu4k-2uoQgsvj.js.map → perl-CntHWu4k-BhS1nQNx.js.map} +1 -1
- package/dist/client/assets/{php-VF06KE26-Cy5BNgCu.js → php-VF06KE26-DTPzSju2.js} +2 -2
- package/dist/client/assets/{php-VF06KE26-Cy5BNgCu.js.map → php-VF06KE26-DTPzSju2.js.map} +1 -1
- package/dist/client/assets/{primitives-BnTwQBvt-Wa0KbeR5.js → primitives-BXWPLy2C-mP10m9L8.js} +2 -2
- package/dist/client/assets/{primitives-BnTwQBvt-Wa0KbeR5.js.map → primitives-BXWPLy2C-mP10m9L8.js.map} +1 -1
- package/dist/client/assets/{pug-DeZwH1tK-sFeyNqLq.js → pug-DeZwH1tK-B9No4pnM.js} +2 -2
- package/dist/client/assets/{pug-DeZwH1tK-sFeyNqLq.js.map → pug-DeZwH1tK-B9No4pnM.js.map} +1 -1
- package/dist/client/assets/{pullRequestReviewThreadReplay-CZK0ojth.js → pullRequestReviewThreadReplay-GsJkHDmp.js} +2 -2
- package/dist/client/assets/{pullRequestReviewThreadReplay-CZK0ojth.js.map → pullRequestReviewThreadReplay-GsJkHDmp.js.map} +1 -1
- package/dist/client/assets/{qml-CQhAR2tt-ghxlEb6L.js → qml-CQhAR2tt-XfN_XeIY.js} +2 -2
- package/dist/client/assets/{qml-CQhAR2tt-ghxlEb6L.js.map → qml-CQhAR2tt-XfN_XeIY.js.map} +1 -1
- package/dist/client/assets/{r-CGShpgkr-BnDtomVK.js → r-CGShpgkr-CSPdymwb.js} +2 -2
- package/dist/client/assets/{r-CGShpgkr-BnDtomVK.js.map → r-CGShpgkr-CSPdymwb.js.map} +1 -1
- package/dist/client/assets/{razor-CgB2QCs6-Du0sH0Qv.js → razor-CgB2QCs6-CpnEe0o4.js} +2 -2
- package/dist/client/assets/{razor-CgB2QCs6-Du0sH0Qv.js.map → razor-CgB2QCs6-CpnEe0o4.js.map} +1 -1
- package/dist/client/assets/{regexp-go_CdRjx-DZsiR-xj.js → regexp-go_CdRjx-CygQCdLU.js} +2 -2
- package/dist/client/assets/{regexp-go_CdRjx-DZsiR-xj.js.map → regexp-go_CdRjx-CygQCdLU.js.map} +1 -1
- package/dist/client/assets/{releaseRoutes-DLfDmfqe.js → releaseRoutes-Dk8MT0in.js} +2 -2
- package/dist/client/assets/{releaseRoutes-DLfDmfqe.js.map → releaseRoutes-Dk8MT0in.js.map} +1 -1
- package/dist/client/assets/{rst-CbWMI8ou-frdHzckK.js → rst-CbWMI8ou-GxcerOld.js} +2 -2
- package/dist/client/assets/{rst-CbWMI8ou-frdHzckK.js.map → rst-CbWMI8ou-GxcerOld.js.map} +1 -1
- package/dist/client/assets/{ruby-DsGwIs06-DFbM8woV.js → ruby-DsGwIs06-DFlD6ccB.js} +2 -2
- package/dist/client/assets/{ruby-DsGwIs06-DFbM8woV.js.map → ruby-DsGwIs06-DFlD6ccB.js.map} +1 -1
- package/dist/client/assets/{sas-DjxN8J4Z-Fo0Jhar_.js → sas-DjxN8J4Z-O-nhpylU.js} +2 -2
- package/dist/client/assets/{sas-DjxN8J4Z-Fo0Jhar_.js.map → sas-DjxN8J4Z-O-nhpylU.js.map} +1 -1
- package/dist/client/assets/{scss-bkiiULjK-jVZWZBbu.js → scss-bkiiULjK-BCCx5Vl_.js} +2 -2
- package/dist/client/assets/{scss-bkiiULjK-jVZWZBbu.js.map → scss-bkiiULjK-BCCx5Vl_.js.map} +1 -1
- package/dist/client/assets/{shellscript-Cuh1SIPr-Dbirzu6D.js → shellscript-Cuh1SIPr-CHsx4a67.js} +2 -2
- package/dist/client/assets/{shellscript-Cuh1SIPr-Dbirzu6D.js.map → shellscript-Cuh1SIPr-CHsx4a67.js.map} +1 -1
- package/dist/client/assets/{shellsession-C4UOwxb7-7CJWgYuy.js → shellsession-C4UOwxb7-D6bkncqE.js} +2 -2
- package/dist/client/assets/{shellsession-C4UOwxb7-7CJWgYuy.js.map → shellsession-C4UOwxb7-D6bkncqE.js.map} +1 -1
- package/dist/client/assets/{soy-CeGFXpLT-D9dc77z6.js → soy-CeGFXpLT-9HOh-Ygc.js} +2 -2
- package/dist/client/assets/{soy-CeGFXpLT-D9dc77z6.js.map → soy-CeGFXpLT-9HOh-Ygc.js.map} +1 -1
- package/dist/client/assets/{sql-qDYmMTO1-uEsSySDj.js → sql-qDYmMTO1-CEdQ0v3n.js} +2 -2
- package/dist/client/assets/{sql-qDYmMTO1-uEsSySDj.js.map → sql-qDYmMTO1-CEdQ0v3n.js.map} +1 -1
- package/dist/client/assets/{stata-Dzus_rwP-BH7vam06.js → stata-Dzus_rwP-BuG1u1jJ.js} +2 -2
- package/dist/client/assets/{stata-Dzus_rwP-BH7vam06.js.map → stata-Dzus_rwP-BuG1u1jJ.js.map} +1 -1
- package/dist/client/assets/{surrealql-DmTrf8uR-CWkOYJpX.js → surrealql-DmTrf8uR-CSBOHXCO.js} +2 -2
- package/dist/client/assets/{surrealql-DmTrf8uR-CWkOYJpX.js.map → surrealql-DmTrf8uR-CSBOHXCO.js.map} +1 -1
- package/dist/client/assets/{svelte-CWlRonoS-BlW_D3qk.js → svelte-CWlRonoS-DgXWzKbz.js} +2 -2
- package/dist/client/assets/{svelte-CWlRonoS-BlW_D3qk.js.map → svelte-CWlRonoS-DgXWzKbz.js.map} +1 -1
- package/dist/client/assets/{templ-EuFg1gKs-BPpn997C.js → templ-EuFg1gKs-Gm_jX91q.js} +2 -2
- package/dist/client/assets/{templ-EuFg1gKs-BPpn997C.js.map → templ-EuFg1gKs-Gm_jX91q.js.map} +1 -1
- package/dist/client/assets/{tex-Cbbx1SXS-BYnCXVUj.js → tex-Cbbx1SXS-UHGl4s7W.js} +2 -2
- package/dist/client/assets/{tex-Cbbx1SXS-BYnCXVUj.js.map → tex-Cbbx1SXS-UHGl4s7W.js.map} +1 -1
- package/dist/client/assets/{ts-tags-DOHpIWV2-DGGUehb1.js → ts-tags-DOHpIWV2-BFeQ2_qS.js} +2 -2
- package/dist/client/assets/{ts-tags-DOHpIWV2-DGGUehb1.js.map → ts-tags-DOHpIWV2-BFeQ2_qS.js.map} +1 -1
- package/dist/client/assets/{tsx-DmRL3u_2-BuphZRb1.js → tsx-DmRL3u_2-XbmtCpCA.js} +2 -2
- package/dist/client/assets/{tsx-DmRL3u_2-BuphZRb1.js.map → tsx-DmRL3u_2-XbmtCpCA.js.map} +1 -1
- package/dist/client/assets/{twig-BzcHspK1-BHSYcxkL.js → twig-BzcHspK1-taTu1Drs.js} +2 -2
- package/dist/client/assets/{twig-BzcHspK1-BHSYcxkL.js.map → twig-BzcHspK1-taTu1Drs.js.map} +1 -1
- package/dist/client/assets/{typescript-BYTx4UxO-BWghQV1V.js → typescript-BYTx4UxO-kK2df6yp.js} +2 -2
- package/dist/client/assets/{typescript-BYTx4UxO-BWghQV1V.js.map → typescript-BYTx4UxO-kK2df6yp.js.map} +1 -1
- package/dist/client/assets/{typst-BrfC91e7-D-qhUyZC.js → typst-BrfC91e7-D77xpI_O.js} +2 -2
- package/dist/client/assets/{typst-BrfC91e7-D-qhUyZC.js.map → typst-BrfC91e7-D77xpI_O.js.map} +1 -1
- package/dist/client/assets/{useWorkspaceDefaultLanding-DaE2YGNd.js → useWorkspaceDefaultLanding-CHavgP2x.js} +2 -2
- package/dist/client/assets/{useWorkspaceDefaultLanding-DaE2YGNd.js.map → useWorkspaceDefaultLanding-CHavgP2x.js.map} +1 -1
- package/dist/client/assets/{vue-B92PIQFm-CoGWLOqg.js → vue-B92PIQFm-CxfWUGFO.js} +2 -2
- package/dist/client/assets/{vue-B92PIQFm-CoGWLOqg.js.map → vue-B92PIQFm-CxfWUGFO.js.map} +1 -1
- package/dist/client/assets/{vue-html-EDHI-aeE-CC2k9uRQ.js → vue-html-EDHI-aeE-uPrIvgh4.js} +2 -2
- package/dist/client/assets/{vue-html-EDHI-aeE-CC2k9uRQ.js.map → vue-html-EDHI-aeE-uPrIvgh4.js.map} +1 -1
- package/dist/client/assets/{vue-vine-CmMdgoEY-_zZ7pZf1.js → vue-vine-CmMdgoEY-eCdJx6AS.js} +2 -2
- package/dist/client/assets/{vue-vine-CmMdgoEY-_zZ7pZf1.js.map → vue-vine-CmMdgoEY-eCdJx6AS.js.map} +1 -1
- package/dist/client/assets/{workspaceEntityRoutes-BUuMTdMr.js → workspaceEntityRoutes-DeWAeNbF.js} +2 -2
- package/dist/client/assets/{workspaceEntityRoutes-BUuMTdMr.js.map → workspaceEntityRoutes-DeWAeNbF.js.map} +1 -1
- package/dist/client/assets/{workspaceScrollCapture-DllLzjf8.js → workspaceScrollCapture-Cr6uBq-z.js} +2 -2
- package/dist/client/assets/{workspaceScrollCapture-DllLzjf8.js.map → workspaceScrollCapture-Cr6uBq-z.js.map} +1 -1
- package/dist/client/assets/{xml-Bz9Nzp99-B0ZZBRFq.js → xml-Bz9Nzp99-DniaQ-4l.js} +2 -2
- package/dist/client/assets/{xml-Bz9Nzp99-B0ZZBRFq.js.map → xml-Bz9Nzp99-DniaQ-4l.js.map} +1 -1
- package/dist/client/assets/{xsl-D0pOnfMq-DJSuRtxm.js → xsl-D0pOnfMq-DIsX5RIx.js} +2 -2
- package/dist/client/assets/{xsl-D0pOnfMq-DJSuRtxm.js.map → xsl-D0pOnfMq-DIsX5RIx.js.map} +1 -1
- package/dist/client/assets/{yaml-DKDHNCIP-CkHFy1FE.js → yaml-DKDHNCIP-DZpgjsVZ.js} +2 -2
- package/dist/client/assets/{yaml-DKDHNCIP-CkHFy1FE.js.map → yaml-DKDHNCIP-DZpgjsVZ.js.map} +1 -1
- package/dist/client/index.html +1 -1
- package/package.json +8 -8
- package/dist/client/assets/WorkspaceHomeLink-Vs72lXwi.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e,t}from"./react-DB-4Zxce.js";import{m as n,p as r,s as i,u as a}from"./hooks-D2zmMoSa.js";import{f as o,i as s,o as c,r as l,v as u}from"./Dialog-CplGpe1F-DvPHUaxb.js";import{F as d,M as f,_ as p,b as m,d as h,f as g,h as _,k as v,m as y,p as b}from"./index-E-cqUXMY.js";import{_ as x,c as S,d as C,h as w,i as T,n as E,r as D,s as ee,u as te}from"./patterns-C3f2OP8b.js";import{n as O,t as k}from"./primitives-BnTwQBvt-Wa0KbeR5.js";import{Ei as A,Hr as ne,Ka as re,Kn as j,Kr as ie,Si as M,mi as N,nn as ae,rn as oe}from"./agent-api-D_ViR39X.js";import{n as se,t as ce}from"./BrowserCrypto-maYMT77A.js";import{a as P,t as F}from"./client-DWkZYpso.js";import{a as le,c as ue,l as de,n as fe,s as pe}from"./releaseRoutes-DLfDmfqe.js";import{PortfolioOverviewView as me}from"./PortfolioOverview-mX6k5nL-.js";import{t as I}from"./authenticatedMutationClient-D_5YP1Kc.js";import{r as L,t as R}from"./ReleaseWorkset-D2Q-pMv0.js";import{n as z,t as he}from"./useCompactReleasePreview-CmOBEC-K.js";var B=e(t(),1),ge=N(function*(){let e=yield*(yield*se).randomUUIDv7;return yield*j(ae)(e)}),_e={create:(e,t,n,r)=>A(N(function*(){return yield*(yield*I).deliveryGraph.createRepairProposal({params:{releaseId:e,relationshipId:t.precondition.relationshipId},payload:{proposalId:n,environmentId:t.candidate.impact.environmentId,expectedRevision:t.precondition.expectedRevision,disposition:t.proposal.disposition,rationale:t.proposal.rationale}})}).pipe(M(P)),{signal:r}),draft:(e,t,n,r,i)=>A(N(function*(){return yield*(yield*F()).deliveryGraph.repairProposalDraft({params:{releaseId:e,relationshipId:n},query:t===null?{revision:r}:{environmentId:t,revision:r}})}).pipe(M(P)),{signal:i}),list:(e,t,n)=>A(N(function*(){return yield*(yield*F()).deliveryGraph.repairCandidates({params:{releaseId:e},query:t===null?{}:{environmentId:t}})}).pipe(M(P)),{signal:n}),makeProposalId:()=>A(ge.pipe(M(ce)))},V={candidates:`_candidates_nbx6f_1`,draft:`_draft_nbx6f_2`,candidateHeader:`_candidateHeader_nbx6f_10`,draftHeader:`_draftHeader_nbx6f_11`,actions:`_actions_nbx6f_12`,candidate:`_candidate_nbx6f_1`,"reveal-draft":`_reveal-draft_nbx6f_1`},H=v(),U=e=>e.replaceAll(`-`,` `),ve=e=>`${U(e.relationship.sourceNodeKind)} → ${U(e.relationship.targetNodeKind)}`,ye=(e,t)=>{let n=new Set,r=[];for(let e of t.flatMap(e=>e.candidates)){let t=`${e.relationship.relationshipId}:${e.relationship.revision}`;n.has(t)||(n.add(t),r.push(e))}return{releaseId:e,environmentId:null,truncated:t.some(({truncated:e})=>e)||r.length>500,candidates:r.slice(0,500)}},W=({announce:e=!1,children:t,stateTag:n})=>{let r=(0,B.useRef)(null);return(0,B.useEffect)(()=>r.current?.focus(),[n]),(0,H.jsx)(`div`,{"aria-live":e?`polite`:void 0,ref:r,role:e?`status`:void 0,tabIndex:-1,children:t})},be=({environmentIds:e,onCreated:t,releaseId:n,session:r,transport:i=_e})=>{let[a,s]=(0,B.useState)({_tag:`idle`}),c=(0,B.useRef)(null),d=r.actor._tag===`human`?r.actor.personId:r.actor.agentId,f=`${r.sessionId}:${r.workspaceId}:${r.permission}:${r.actor._tag}:${d}`,p=e.join(`:`);if((0,B.useEffect)(()=>(c.current?.abort(),c.current=null,s({_tag:`idle`}),()=>c.current?.abort()),[f,p,n]),r.permission!==`workspace-owner`)return null;let m=async(e,t,n)=>{c.current?.abort();let r=new AbortController;c.current=r;try{let n=await e(r.signal);!r.signal.aborted&&c.current===r&&t(n)}catch{!r.signal.aborted&&c.current===r&&n()}finally{c.current===r&&(c.current=null)}},h=()=>{s({_tag:`loading`}),m(t=>L(e,e=>i.list(n,e,t)),e=>s({_tag:`ready`,page:ye(n,e)}),()=>s({_tag:`load-failed`}))},g=(e,t)=>{s({_tag:`drafting`,page:t}),m(t=>i.draft(n,e.impact.environmentId,e.relationship.relationshipId,e.relationship.revision,t),e=>s({_tag:`draft`,draft:e,page:t}),()=>s({_tag:`draft-failed`,candidate:e,page:t}))},_=t=>{s({_tag:`loading`}),m(t=>L(e,e=>i.list(n,e,t)),e=>{let r=ye(n,e),i=r.candidates.find(e=>e.relationship.relationshipId===t.relationship.relationshipId);if(i===void 0){s({_tag:`ready`,page:r});return}g(i,r)},()=>s({_tag:`load-failed`}))},v=(e,r,a=null)=>{c.current?.abort();let o=new AbortController;c.current=o,s({_tag:`creating`,draft:e,page:r,proposalId:a}),(async()=>{let l=a;try{if(l??=await i.makeProposalId(),o.signal.aborted||c.current!==o||(s({_tag:`creating`,draft:e,page:r,proposalId:l}),await i.create(n,e,l,o.signal),o.signal.aborted||c.current!==o))return;s({_tag:`created`}),t()}catch{!o.signal.aborted&&c.current===o&&s({_tag:`create-failed`,draft:e,page:r,proposalId:l})}finally{c.current===o&&(c.current=null)}})()};if(a._tag===`idle`)return(0,H.jsx)(o,{onClick:h,children:`Find repair candidates`});if(a._tag===`loading`)return(0,H.jsx)(W,{announce:!0,stateTag:a._tag,children:(0,H.jsx)(k,{tone:`secondary`,children:`Finding incomplete relationships…`})});if(a._tag===`load-failed`)return(0,H.jsx)(W,{stateTag:a._tag,children:(0,H.jsx)(l,{action:(0,H.jsx)(o,{onClick:h,children:`Try again`}),announce:`assertive`,description:`Candidate discovery did not change the release.`,title:`Could not find candidates`,tone:`caution`})});if(a._tag===`created`)return(0,H.jsx)(W,{announce:!0,stateTag:a._tag,children:(0,H.jsx)(u,{label:`Proposal created`,tone:`positive`})});if(a._tag===`drafting`)return(0,H.jsx)(W,{announce:!0,stateTag:a._tag,children:(0,H.jsx)(k,{tone:`secondary`,children:`Preparing an exact proposal…`})});if(a._tag===`draft-failed`)return(0,H.jsx)(W,{stateTag:a._tag,children:(0,H.jsx)(l,{action:(0,H.jsx)(o,{onClick:()=>_(a.candidate),children:`Refresh candidate`}),announce:`assertive`,description:`The relationship may have changed since discovery.`,title:`Candidate is stale`,tone:`caution`})});if(a._tag===`draft`||a._tag===`creating`||a._tag===`create-failed`){let e=a._tag===`creating`;return(0,H.jsx)(W,{announce:e,stateTag:a._tag,children:(0,H.jsxs)(O,{as:`section`,className:V.draft,padding:`none`,tone:`secondary`,children:[(0,H.jsxs)(`div`,{className:V.draftHeader,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(k,{as:`h4`,variant:`card-title`,children:[U(a.draft.proposal.disposition),` relationship`]}),(0,H.jsxs)(k,{tone:`tertiary`,variant:`meta`,children:[`r`,a.draft.precondition.expectedRevision,` → r`,a.draft.precondition.expectedRevision+1]})]}),(0,H.jsx)(u,{label:`Proposal preview`,size:`compact`,tone:`neutral`})]}),(0,H.jsx)(k,{children:a.draft.proposal.rationale}),a._tag===`create-failed`?(0,H.jsx)(k,{role:`alert`,tone:`secondary`,children:`The relationship changed or the proposal was not recorded. Refresh the candidate before retrying.`}):null,(0,H.jsxs)(`div`,{className:V.actions,children:[(0,H.jsx)(o,{disabled:e,onClick:()=>s({_tag:`ready`,page:a.page}),variant:`quiet`,children:`Back`}),(0,H.jsx)(o,{loading:e,onClick:()=>v(a.draft,a.page,a._tag===`create-failed`?a.proposalId:null),variant:`primary`,children:`Create proposal`})]})]})})}return a.page.candidates.length===0?(0,H.jsx)(W,{announce:!0,stateTag:a._tag,children:(0,H.jsx)(k,{tone:`secondary`,children:`No incomplete relationships need an owner decision.`})}):(0,H.jsx)(W,{stateTag:a._tag,children:(0,H.jsxs)(`div`,{className:V.candidates,children:[(0,H.jsxs)(`div`,{className:V.candidateHeader,children:[(0,H.jsxs)(k,{tone:`secondary`,children:[a.page.candidates.length,a.page.truncated?`+`:``,` incomplete relationship`,a.page.candidates.length===1?``:`s`]}),(0,H.jsx)(o,{onClick:()=>s({_tag:`idle`}),variant:`quiet`,children:`Close`})]}),a.page.candidates.map(e=>(0,H.jsxs)(`button`,{className:V.candidate,onClick:()=>g(e,a.page),type:`button`,children:[(0,H.jsxs)(`span`,{children:[(0,H.jsx)(`strong`,{children:ve(e)}),(0,H.jsx)(`small`,{children:e.explanation})]}),(0,H.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]},e.relationship.relationshipId))]})})},xe=N(function*(){let e=yield*(yield*se).randomUUIDv7;return yield*j(oe)(e)}),Se={apply:(e,t)=>A(N(function*(){return yield*(yield*I).deliveryGraph.applyRepairProposal({params:{proposalId:e}})}).pipe(M(P)),{signal:t}),list:(e,t,n)=>A(N(function*(){return yield*(yield*F()).deliveryGraph.listRepairProposals({params:{releaseId:e},query:t===null?{}:{environmentId:t}})}).pipe(M(P)),{signal:n}),makeReviewId:()=>A(xe.pipe(M(ce))),review:(e,t,n,r,i)=>A(N(function*(){return yield*(yield*I).deliveryGraph.reviewRepairProposal({params:{proposalId:e},payload:{reviewId:t,decision:n,rationale:r}})}).pipe(M(P)),{signal:i})},Ce=re(`UnauthorizedApiError`),we=()=>void 0,Te=(e,t)=>{let n=ne(t.proposedAt,e.proposedAt);return n===0?t.proposalId.localeCompare(e.proposalId):n},Ee=(e,t)=>{let n=new Map,r=new Map;for(let e of t){for(let t of e.proposals)n.set(t.proposalId,t);for(let t of e.applications)r.set(t.proposalId,t)}let i=[...n.values()].sort(Te),a=i.slice(0,128),o=a.flatMap(e=>{let t=r.get(e.proposalId);return t===void 0?[]:[t]});return{releaseId:e,environmentId:null,status:null,truncated:t.some(({truncated:e})=>e)||i.length>128,proposals:a,applications:o}},De=(e,t,n,r=Se,i=we)=>{let[a,o]=(0,B.useState)(0),[s,c]=(0,B.useState)({_tag:`idle`}),l=(0,B.useRef)(null),u=(0,B.useRef)(null),d=(0,B.useRef)(new Map),f=(0,B.useRef)(s),p=t.join(`:`);(0,B.useEffect)(()=>{if(l.current?.abort(),l.current=null,u.current=null,d.current.clear(),n===null){c({_tag:`idle`});return}let a=new AbortController;return c({_tag:`loading`}),L(t,t=>r.list(e,t,a.signal)).then(t=>{if(!a.signal.aborted){let r=Ee(e,t);c({_tag:`ready`,actionFailure:null,applications:new Map(r.applications.map(e=>[e.proposalId,e])),busyProposalId:null,environmentScopeKey:p,page:r,releaseId:e,sessionKey:n})}},e=>{a.signal.aborted||(Ce(e)&&i(n),c({_tag:`failed`}))}),()=>a.abort()},[p,i,e,a,n,r]),(0,B.useEffect)(()=>()=>l.current?.abort(),[]);let m=s._tag===`ready`&&(s.environmentScopeKey!==p||s.releaseId!==e||s.sessionKey!==n)?{_tag:`loading`}:s;f.current=m;let h=(0,B.useCallback)(e=>{if(f.current._tag!==`ready`||u.current!==null)return null;let t=new AbortController;return u.current=e,l.current?.abort(),l.current=t,c(t=>t._tag===`ready`?{...t,actionFailure:null,busyProposalId:e}:t),t},[]),g=(0,B.useCallback)(e=>l.current===e&&(l.current=null,u.current=null,!0),[]),_=(0,B.useCallback)(async(e,t,n)=>{let i=h(e);if(i===null)return!1;try{let a=d.current.get(e),o=a?.decision===t&&a.rationale===n?a:{decision:t,rationale:n,reviewId:await r.makeReviewId()};d.current.set(e,o);let s=await r.review(e,o.reviewId,t,n,i.signal);return!g(i)||i.signal.aborted?!1:(d.current.delete(e),c(t=>t._tag!==`ready`||i.signal.aborted?t:{...t,busyProposalId:null,page:{...t.page,proposals:t.page.proposals.map(t=>t.proposalId===e?s:t)}}),!0)}catch{return!i.signal.aborted&&g(i)&&c(t=>t._tag===`ready`?{...t,actionFailure:e,busyProposalId:null}:t),!1}},[h,g,r]);return{apply:(0,B.useCallback)(async e=>{let t=h(e);if(t===null)return!1;try{let n=await r.apply(e,t.signal);return!g(t)||t.signal.aborted?!1:(c(r=>{if(r._tag!==`ready`||t.signal.aborted)return r;let i=new Map(r.applications);return i.set(e,n.application),{...r,applications:i,busyProposalId:null}}),!0)}catch{return!t.signal.aborted&&g(t)&&c(t=>t._tag===`ready`?{...t,actionFailure:e,busyProposalId:null}:t),!1}},[h,g,r]),retry:(0,B.useCallback)(()=>o(e=>e+1),[]),review:_,state:m}},G={root:`_root_1x4wx_1`,ledger:`_ledger_1x4wx_2`,proposal:`_proposal_1x4wx_3`,proposalHeader:`_proposalHeader_1x4wx_4`,decision:`_decision_1x4wx_5`,reviewEvidence:`_reviewEvidence_1x4wx_6`,reviewForm:`_reviewForm_1x4wx_7`,loading:`_loading_1x4wx_8`,panelStack:`_panelStack_1x4wx_9`,header:`_header_1x4wx_26`,peopleTrace:`_peopleTrace_1x4wx_28`,actions:`_actions_1x4wx_29`,agentIdentity:`_agentIdentity_1x4wx_30`,rationale:`_rationale_1x4wx_80`,traceArrow:`_traceArrow_1x4wx_89`,agentGlyph:`_agentGlyph_1x4wx_98`,actionFailure:`_actionFailure_1x4wx_134`,status:`_status_1x4wx_138`,srOnly:`_srOnly_1x4wx_142`,"reveal-review":`_reveal-review_1x4wx_1`},Oe=()=>void 0,ke=e=>e.slice(-6),Ae=(e,t)=>e._tag===t._tag&&(e._tag===`human`?t._tag===`human`&&e.personId===t.personId:t._tag===`agent`&&e.agentId===t.agentId),je=(e,t,n)=>{let r=t.collaborators.find(({id:t})=>t.startsWith(`${e.personId}:`));return r===void 0?{id:e.personId,name:`Person ${ke(e.personId)}`,role:n}:{...r,role:n}},K=({actor:e,release:t,role:n})=>e._tag===`human`?(0,H.jsx)(T,{person:je(e,t,n),size:`compact`}):(0,H.jsxs)(`div`,{className:G.agentIdentity,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:G.agentGlyph,children:`✦`}),(0,H.jsxs)(`span`,{children:[(0,H.jsxs)(`strong`,{children:[`Agent `,ke(e.agentId)]}),(0,H.jsx)(`small`,{children:n})]})]}),Me=(e,t)=>{if(t!==void 0)return{label:`Applied · r${t.appliedRevision}`,tone:`positive`};switch(e.status){case`pending`:return{label:`Needs review`,tone:`caution`};case`approved`:return{label:`Ready to apply`,tone:`positive`};case`rejected`:return{label:`Rejected`,tone:`critical`}}},q=e=>ie(e,{day:`2-digit`,hour:`2-digit`,hour12:!1,locale:`en-GB`,minute:`2-digit`,month:`short`}),Ne=({actionFailed:e,application:t,isBusy:n,isGloballyBusy:r,mutationsEnabled:i,onApply:a,onRetry:c,onReview:d,proposal:f,release:p,session:m})=>{let[h,g]=(0,B.useState)(!1),[_,v]=(0,B.useState)(``),[y,b]=(0,B.useState)(null),x=(0,B.useRef)(null),S=Me(f,t),C=i&&f.status===`pending`&&(m.permission===`workspace-owner`||m.permission===`workspace-approver`)&&!Ae(f.origin.actor,m.actor),w=i&&f.status===`approved`&&t===void 0&&m.permission===`workspace-owner`,T=_.trim(),E=async e=>{T.length!==0&&await d(f.proposalId,e,T)&&(g(!1),v(``),b(e===`approved`?`Proposal approved.`:`Proposal rejected.`))},D=async()=>{await a(f.proposalId)&&b(`Repair applied.`)};return(0,B.useEffect)(()=>{y!==null&&x.current?.focus()},[y]),(0,H.jsxs)(O,{as:`article`,className:G.proposal,padding:`none`,tone:`secondary`,children:[(0,H.jsxs)(`header`,{className:G.proposalHeader,children:[(0,H.jsxs)(`div`,{className:G.decision,children:[(0,H.jsxs)(`strong`,{children:[f.disposition[0]?.toLocaleUpperCase(`en-US`),f.disposition.slice(1)]}),(0,H.jsxs)(`code`,{children:[`r`,f.expectedRevision,` → r`,f.expectedRevision+1]})]}),(0,H.jsxs)(`div`,{className:G.status,ref:x,tabIndex:y===null?void 0:-1,children:[(0,H.jsx)(u,{label:S.label,size:`compact`,tone:S.tone}),(0,H.jsx)(`span`,{"aria-live":`polite`,className:G.srOnly,children:y??``})]})]}),(0,H.jsx)(k,{className:G.rationale,variant:`body-large`,children:f.rationale}),(0,H.jsxs)(`div`,{className:G.peopleTrace,children:[(0,H.jsx)(K,{actor:f.origin.actor,release:p,role:`Proposed · ${q(f.proposedAt)}`}),f.review===null?null:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:G.traceArrow,children:`→`}),(0,H.jsx)(K,{actor:f.review.origin.actor,release:p,role:`${f.review.decision===`approved`?`Approved`:`Rejected`} · ${q(f.review.reviewedAt)}`})]}),t===void 0?null:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:G.traceArrow,children:`→`}),(0,H.jsx)(K,{actor:t.origin.actor,release:p,role:`Applied revision ${t.appliedRevision} · ${q(t.appliedAt)}`})]})]}),f.review===null?null:(0,H.jsxs)(`div`,{className:G.reviewEvidence,children:[(0,H.jsx)(k,{as:`strong`,variant:`label`,children:`Review note`}),(0,H.jsx)(k,{tone:`secondary`,children:f.review.rationale})]}),e?(0,H.jsx)(l,{action:(0,H.jsx)(o,{onClick:c,children:`Reload decisions`}),announce:`assertive`,className:G.actionFailure,description:`The proposal may have changed. Reload the release decisions before trying again.`,title:`Action not recorded`,tone:`caution`}):null,h&&C?(0,H.jsxs)(`form`,{className:G.reviewForm,onSubmit:e=>e.preventDefault(),children:[(0,H.jsx)(s,{description:`Stored with the immutable decision.`,label:`Review note`,required:!0,children:e=>(0,H.jsx)(`textarea`,{...e,autoFocus:!0,maxLength:1e3,onChange:e=>v(e.currentTarget.value),value:_})}),(0,H.jsxs)(`div`,{className:G.actions,children:[(0,H.jsx)(o,{disabled:T.length===0||r,loading:n,onClick:()=>void E(`rejected`),variant:`quiet`,children:`Reject`}),(0,H.jsx)(o,{disabled:T.length===0||r,loading:n,onClick:()=>void E(`approved`),variant:`primary`,children:`Approve`})]})]}):(0,H.jsxs)(`div`,{className:G.actions,children:[C?(0,H.jsx)(o,{disabled:r,onClick:()=>g(!0),children:`Review proposal`}):null,w?(0,H.jsx)(o,{disabled:r&&!n,loading:n,onClick:()=>void D(),variant:`primary`,children:`Apply repair`}):null,f.status===`pending`&&Ae(f.origin.actor,m.actor)?(0,H.jsx)(k,{tone:`tertiary`,variant:`meta`,children:`Another owner or approver must review.`}):null]})]})},Pe=()=>(0,H.jsxs)(`div`,{"aria-label":`Loading release decisions`,className:G.loading,role:`status`,children:[(0,H.jsx)(c,{decorative:!1,height:`1.5rem`,label:`Loading release decisions`,width:`12rem`}),(0,H.jsx)(c,{decorative:!0,height:`11rem`,variant:`block`})]}),Fe=({mutationsEnabled:e,onApply:t,onRetry:n,onReview:r,release:i,session:a,state:s})=>s._tag===`idle`||s._tag===`loading`?(0,H.jsx)(Pe,{}):s._tag===`failed`?(0,H.jsx)(l,{action:(0,H.jsx)(o,{onClick:n,children:`Try again`}),description:`Control Center could not read the governed decisions for this release.`,title:`Release decisions unavailable`,tone:`caution`}):s.page.proposals.length===0?(0,H.jsx)(l,{description:`No relationship repair is waiting for review or application.`,title:`No repair decisions`}):(0,H.jsxs)(`div`,{className:G.root,children:[(0,H.jsxs)(`header`,{className:G.header,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsx)(k,{as:`h3`,variant:`card-title`,children:`Repair decisions`}),(0,H.jsx)(k,{tone:`secondary`,children:`One compact ledger from proposal to human decision to applied revision.`})]}),(0,H.jsx)(u,{label:`${s.page.proposals.length}${s.page.truncated?`+`:``} decision${s.page.proposals.length===1?``:`s`}`,size:`compact`,tone:`neutral`})]}),(0,H.jsx)(`div`,{className:G.ledger,children:s.page.proposals.map(o=>(0,H.jsx)(Ne,{actionFailed:s.actionFailure===o.proposalId,application:s.applications.get(o.proposalId),isBusy:s.busyProposalId===o.proposalId,isGloballyBusy:s.busyProposalId!==null,mutationsEnabled:e,onApply:t,onRetry:n,onReview:r,proposal:o,release:i,session:a},o.proposalId))})]}),Ie=e=>{let t=e.actor._tag===`human`?e.actor.personId:e.actor.agentId;return`${e.sessionId}:${e.workspaceId}:${e.permission}:${e.actor._tag}:${t}`},Le=e=>{switch(e._tag){case`authenticated`:return{mutationsEnabled:!0,session:e.session};case`storage-unavailable`:return{mutationsEnabled:!1,session:e.session};case`anonymous`:case`blocked`:case`checking`:case`unavailable`:return{mutationsEnabled:!1,session:null}}},Re=({browserSessionState:e,onSessionExpired:t=Oe,release:n,transport:r})=>{let i=Le(e),a=De(n.id,n.targetEnvironmentIds,i.session?.sessionId??null,r,t);return i.session===null?(0,H.jsx)(Pe,{}):(0,H.jsxs)(`div`,{className:G.panelStack,children:[(0,H.jsx)(Fe,{mutationsEnabled:i.mutationsEnabled,onApply:a.apply,onRetry:a.retry,onReview:a.review,release:n,session:i.session,state:a.state}),i.mutationsEnabled?(0,H.jsx)(be,{environmentIds:n.targetEnvironmentIds,onCreated:a.retry,releaseId:n.id,session:i.session},`${n.id}:${n.targetEnvironmentIds.join(`:`)}:${Ie(i.session)}`):null]})},ze=({release:e})=>{let t=m();return(0,H.jsx)(Re,{browserSessionState:t.state,onSessionExpired:t.invalidateSession,release:e})},J={state:`_state_1mg2y_1`,back:`_back_1mg2y_8`,releaseAction:`_releaseAction_1mg2y_9`,previewDetails:`_previewDetails_1mg2y_33`,evidence:`_evidence_1mg2y_34`,full:`_full_1mg2y_35`,fullHeader:`_fullHeader_1mg2y_36`,fullTitle:`_fullTitle_1mg2y_37`,section:`_section_1mg2y_38`,evidenceHeading:`_evidenceHeading_1mg2y_47`,fullIdentity:`_fullIdentity_1mg2y_48`},Be=(e,t)=>{let n=fe(t);if(n===null||e.controller.state._tag!==`ready`)return null;let r=e.controller.state.portfolio.releases.find(e=>e.id===n);return r===void 0?null:{release:r,releaseId:n}},Ve=({workspaceId:e})=>{let t=(0,B.useRef)(null);return(0,B.useEffect)(()=>t.current?.focus(),[]),(0,H.jsx)(`section`,{className:J.state,"data-release-not-found":``,ref:t,tabIndex:-1,children:(0,H.jsx)(l,{action:(0,H.jsx)(f,{to:y(e),children:`Return to workspace overview`}),description:`This release does not exist in the current workspace snapshot. It may have been removed or the address may be incorrect.`,title:`Release not found`})})},Y=({context:e})=>{let t=(0,B.useRef)(null);return(0,B.useEffect)(()=>t.current?.querySelector(`#portfolio-title`)?.focus(),[]),(0,H.jsx)(`div`,{ref:t,children:(0,H.jsx)(me,{onPreviewRelease:()=>void 0,onRetry:e.controller.onRetry,state:e.controller.state})})},X=({release:e})=>{let t=r(),n=i(),a=(()=>{switch(e.readinessVerdict){case`blocked`:return{label:`Review blocker`,to:h(t.workspaceId,e.id)};case`held`:return{label:`Repair missing links`,to:`${b(t.workspaceId,e.id)}#release-work`};case`ready`:return{label:`Review ship evidence`,to:`${b(t.workspaceId,e.id)}#release-evidence`};case`deploying`:return{label:`Open deployment`,to:`${b(t.workspaceId,e.id)}#release-work`};case`building`:return{label:`Open build`,to:`${b(t.workspaceId,e.id)}#release-work`};case`shipped`:return{label:`View release record`,to:`${b(t.workspaceId,e.id)}#release-evidence`};case`unknown`:return null}})();return a===null?(0,H.jsx)(o,{disabled:!0,size:`principal`,stretch:!0,variant:`primary`,children:`Readiness evidence required`}):(0,H.jsx)(f,{className:J.releaseAction,state:n.state,to:a.to,children:a.label})},Z=({release:e})=>(0,H.jsxs)(O,{as:`section`,className:J.evidence,padding:`compact`,tone:`secondary`,children:[(0,H.jsxs)(`div`,{className:J.evidenceHeading,children:[e.source.service===null?null:(0,H.jsx)(E,{service:e.source.service}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(k,{as:`h2`,variant:`card-title`,children:e.source.displayName}),(0,H.jsx)(k,{tone:`secondary`,variant:`meta`,children:`Source evidence`})]})]}),(0,H.jsx)(u,{label:e.source.healthLabel,size:`compact`,tone:e.source.healthTone}),e.source.warning===null?(0,H.jsx)(k,{tone:`secondary`,children:`Detailed evidence is not evaluated in the tracer snapshot.`}):(0,H.jsx)(k,{tone:`secondary`,children:e.source.warning})]}),He=e=>`${e.serviceName} · ${e.version} · ${e.relay.codename} · ${e.id}`,Q=({release:e})=>{let t=r(),n=i(),o=a(),s=z();return(0,H.jsx)(w,{actionLabel:`Ask about this release`,agentName:`Relay`,context:He(e),onClick:()=>o(g(t.workspaceId,e.id),{state:n.state,viewTransition:!s})})},$=({release:e})=>e.collaborators.length===0?(0,H.jsx)(l,{description:`Assign an owner or approver before a governed release action can proceed.`,title:`No release collaborators assigned`}):(0,H.jsx)(C,{"aria-label":`All ${e.serviceName} release collaborators`,expanded:!0,limit:e.collaborators.length,onExpandedChange:()=>void 0,people:e.collaborators}),Ue=({selection:e})=>{let t=r(),n=he(),o=z(),s=i(),c=a(),[l,u]=(0,B.useState)(null),[f,p]=(0,B.useState)(!0),m=de(s.state,t.workspaceId,e.releaseId),h=pe(m.origin),v=b(t.workspaceId,e.releaseId),y=g(t.workspaceId,e.releaseId),x=_(t.workspaceId,e.releaseId),S=d(x),C=d(v),w=d(y),T=S||C||w?ue(e.releaseId):void 0;(0,B.useEffect)(()=>{f||l===null||c(h,{replace:!0})},[t.workspaceId,l,f,c,h,e.releaseId]);let E=()=>{t.requestReleaseFocus(e.releaseId),u(`origin`),p(!1)};return(0,H.jsx)(D,{agentEntry:(0,H.jsx)(Q,{release:e.release}),collaborators:(0,H.jsx)($,{release:e.release}),entryMotion:m.isStored?`external`:`intrinsic`,evidence:(0,H.jsx)(Z,{release:e.release}),onOpenChange:e=>{e||E()},onOpenFullView:()=>c(v,{state:s.state,viewTransition:!o}),open:f,openFullViewLabel:`Open ${e.release.relay.codename} full view`,presentation:n?`sheet`:`dialog`,primaryAction:(0,H.jsx)(X,{release:e.release}),release:e.release.release,stages:(0,H.jsx)(ee,{heading:`Release stages`,stages:e.release.stages}),...T===void 0?{}:{transitionNames:T},workset:(0,H.jsx)(`div`,{className:J.previewDetails,children:(0,H.jsx)(R,{release:e.release,workspaceId:t.workspaceId})})})},We=()=>{let e=r(),t=n();if(e.controller.state._tag!==`ready`)return(0,H.jsx)(Y,{context:e});let i=Be(e,t.releaseId);return i===null?(0,H.jsx)(Ve,{workspaceId:e.workspaceId}):(0,H.jsx)(Ue,{selection:i})},Ge=({selection:e})=>{let t=r(),n=i(),a=(0,B.useRef)(null),o=le(n.state,t.workspaceId,e.releaseId),s=o.pathname===p(t.workspaceId)?`Back to items`:`Back to overview`,c=e.release,l=b(t.workspaceId,e.releaseId),u=g(t.workspaceId,e.releaseId),m=d(l),h=d(u),_=m||h?ue(e.releaseId):void 0;return(0,B.useEffect)(()=>a.current?.focus(),[]),(0,H.jsxs)(`article`,{className:J.full,"data-release-full-id":c.id,children:[(0,H.jsxs)(`header`,{className:J.fullHeader,children:[(0,H.jsx)(f,{className:J.back,to:pe(o),children:s}),(0,H.jsxs)(`div`,{className:J.fullIdentity,children:[(0,H.jsx)(te,{algorithm:c.relay.algorithm,codename:c.relay.codename,"data-rly-release-transition-name":_?.relay,"data-rly-release-transition-part":`relay`,size:`hero`,style:_===void 0?void 0:{viewTransitionName:_.relay},symbolIndices:c.relay.symbolIndices}),c.source.freshnessDateTime===null||c.source.freshnessTime===null?(0,H.jsx)(S,{state:c.source.freshness}):(0,H.jsx)(S,{dateTime:c.source.freshnessDateTime,state:c.source.freshness,time:c.source.freshnessTime})]}),(0,H.jsxs)(`div`,{className:J.fullTitle,children:[(0,H.jsx)(k,{as:`h1`,id:`release-title`,ref:a,tabIndex:-1,variant:`verdict`,children:c.serviceName}),(0,H.jsx)(k,{as:`code`,"data-rly-release-transition-name":_?.version,"data-rly-release-transition-part":`version`,style:_===void 0?void 0:{viewTransitionName:_.version},tone:`secondary`,variant:`code`,children:c.version})]}),(0,H.jsx)(x,{"data-rly-release-transition-name":_?.verdict,"data-rly-release-transition-part":`verdict`,reason:c.readinessReason,style:_===void 0?void 0:{viewTransitionName:_.verdict},tone:c.release.tone,verdict:c.release.verdict}),(0,H.jsx)(X,{release:c})]}),(0,H.jsx)(ee,{heading:`Build, verify, production`,stages:c.stages}),(0,H.jsxs)(`section`,{"aria-labelledby":`release-people`,className:J.section,children:[(0,H.jsx)(k,{as:`h2`,id:`release-people`,variant:`section-title`,children:`People`}),(0,H.jsx)($,{release:c})]}),(0,H.jsxs)(`section`,{"aria-labelledby":`release-work-title`,className:J.section,id:`release-work`,children:[(0,H.jsx)(k,{as:`h2`,id:`release-work-title`,variant:`section-title`,children:`Delivery relationships`}),(0,H.jsx)(R,{release:c,workspaceId:t.workspaceId}),(0,H.jsx)(ze,{release:c})]}),(0,H.jsxs)(`section`,{"aria-labelledby":`release-evidence-title`,className:J.section,id:`release-evidence`,children:[(0,H.jsx)(k,{as:`h2`,id:`release-evidence-title`,variant:`section-title`,children:`Evidence`}),(0,H.jsx)(Z,{release:c})]}),(0,H.jsxs)(`section`,{"aria-labelledby":`release-agent`,className:J.section,children:[(0,H.jsx)(k,{as:`h2`,id:`release-agent`,variant:`section-title`,children:`Release agent`}),(0,H.jsx)(Q,{release:c})]})]})},Ke=()=>{let e=r(),t=n();if(e.controller.state._tag!==`ready`)return(0,H.jsx)(Y,{context:e});let i=Be(e,t.releaseId);return i===null?(0,H.jsx)(Ve,{workspaceId:e.workspaceId}):(0,H.jsx)(Ge,{selection:i})};export{X as ReleaseAction,Q as ReleaseAgentEntry,Z as ReleaseEvidence,Ke as ReleaseFullRoute,We as ReleasePreviewRoute,ze as t};
|
|
2
|
-
//# sourceMappingURL=ReleaseRoute-
|
|
1
|
+
import{i as e,t}from"./react-DB-4Zxce.js";import{m as n,p as r,s as i,u as a}from"./hooks-D2zmMoSa.js";import{f as o,i as s,o as c,r as l,v as u}from"./Dialog-CplGpe1F-DeMJtg-H.js";import{F as d,M as f,_ as p,b as m,d as h,f as g,h as _,k as v,m as y,p as b}from"./index-fW9vMAFR.js";import{_ as x,c as S,d as C,h as w,i as T,n as E,r as D,s as ee,u as te}from"./patterns-Bc4kz9tn.js";import{n as O,t as k}from"./primitives-BXWPLy2C-mP10m9L8.js";import{Ei as A,Hr as ne,Ka as re,Kn as j,Kr as ie,Si as M,mi as N,nn as ae,rn as oe}from"./agent-api-D_ViR39X.js";import{n as se,t as ce}from"./BrowserCrypto-maYMT77A.js";import{a as P,t as F}from"./client-DWkZYpso.js";import{a as le,c as ue,l as de,n as fe,s as pe}from"./releaseRoutes-Dk8MT0in.js";import{PortfolioOverviewView as me}from"./PortfolioOverview-Cnnxhgpt.js";import{t as I}from"./authenticatedMutationClient-D_5YP1Kc.js";import{r as L,t as R}from"./ReleaseWorkset-DxZ0mgJC.js";import{n as z,t as he}from"./useCompactReleasePreview-CmOBEC-K.js";var B=e(t(),1),ge=N(function*(){let e=yield*(yield*se).randomUUIDv7;return yield*j(ae)(e)}),_e={create:(e,t,n,r)=>A(N(function*(){return yield*(yield*I).deliveryGraph.createRepairProposal({params:{releaseId:e,relationshipId:t.precondition.relationshipId},payload:{proposalId:n,environmentId:t.candidate.impact.environmentId,expectedRevision:t.precondition.expectedRevision,disposition:t.proposal.disposition,rationale:t.proposal.rationale}})}).pipe(M(P)),{signal:r}),draft:(e,t,n,r,i)=>A(N(function*(){return yield*(yield*F()).deliveryGraph.repairProposalDraft({params:{releaseId:e,relationshipId:n},query:t===null?{revision:r}:{environmentId:t,revision:r}})}).pipe(M(P)),{signal:i}),list:(e,t,n)=>A(N(function*(){return yield*(yield*F()).deliveryGraph.repairCandidates({params:{releaseId:e},query:t===null?{}:{environmentId:t}})}).pipe(M(P)),{signal:n}),makeProposalId:()=>A(ge.pipe(M(ce)))},V={candidates:`_candidates_nbx6f_1`,draft:`_draft_nbx6f_2`,candidateHeader:`_candidateHeader_nbx6f_10`,draftHeader:`_draftHeader_nbx6f_11`,actions:`_actions_nbx6f_12`,candidate:`_candidate_nbx6f_1`,"reveal-draft":`_reveal-draft_nbx6f_1`},H=v(),U=e=>e.replaceAll(`-`,` `),ve=e=>`${U(e.relationship.sourceNodeKind)} → ${U(e.relationship.targetNodeKind)}`,ye=(e,t)=>{let n=new Set,r=[];for(let e of t.flatMap(e=>e.candidates)){let t=`${e.relationship.relationshipId}:${e.relationship.revision}`;n.has(t)||(n.add(t),r.push(e))}return{releaseId:e,environmentId:null,truncated:t.some(({truncated:e})=>e)||r.length>500,candidates:r.slice(0,500)}},W=({announce:e=!1,children:t,stateTag:n})=>{let r=(0,B.useRef)(null);return(0,B.useEffect)(()=>r.current?.focus(),[n]),(0,H.jsx)(`div`,{"aria-live":e?`polite`:void 0,ref:r,role:e?`status`:void 0,tabIndex:-1,children:t})},be=({environmentIds:e,onCreated:t,releaseId:n,session:r,transport:i=_e})=>{let[a,s]=(0,B.useState)({_tag:`idle`}),c=(0,B.useRef)(null),d=r.actor._tag===`human`?r.actor.personId:r.actor.agentId,f=`${r.sessionId}:${r.workspaceId}:${r.permission}:${r.actor._tag}:${d}`,p=e.join(`:`);if((0,B.useEffect)(()=>(c.current?.abort(),c.current=null,s({_tag:`idle`}),()=>c.current?.abort()),[f,p,n]),r.permission!==`workspace-owner`)return null;let m=async(e,t,n)=>{c.current?.abort();let r=new AbortController;c.current=r;try{let n=await e(r.signal);!r.signal.aborted&&c.current===r&&t(n)}catch{!r.signal.aborted&&c.current===r&&n()}finally{c.current===r&&(c.current=null)}},h=()=>{s({_tag:`loading`}),m(t=>L(e,e=>i.list(n,e,t)),e=>s({_tag:`ready`,page:ye(n,e)}),()=>s({_tag:`load-failed`}))},g=(e,t)=>{s({_tag:`drafting`,page:t}),m(t=>i.draft(n,e.impact.environmentId,e.relationship.relationshipId,e.relationship.revision,t),e=>s({_tag:`draft`,draft:e,page:t}),()=>s({_tag:`draft-failed`,candidate:e,page:t}))},_=t=>{s({_tag:`loading`}),m(t=>L(e,e=>i.list(n,e,t)),e=>{let r=ye(n,e),i=r.candidates.find(e=>e.relationship.relationshipId===t.relationship.relationshipId);if(i===void 0){s({_tag:`ready`,page:r});return}g(i,r)},()=>s({_tag:`load-failed`}))},v=(e,r,a=null)=>{c.current?.abort();let o=new AbortController;c.current=o,s({_tag:`creating`,draft:e,page:r,proposalId:a}),(async()=>{let l=a;try{if(l??=await i.makeProposalId(),o.signal.aborted||c.current!==o||(s({_tag:`creating`,draft:e,page:r,proposalId:l}),await i.create(n,e,l,o.signal),o.signal.aborted||c.current!==o))return;s({_tag:`created`}),t()}catch{!o.signal.aborted&&c.current===o&&s({_tag:`create-failed`,draft:e,page:r,proposalId:l})}finally{c.current===o&&(c.current=null)}})()};if(a._tag===`idle`)return(0,H.jsx)(o,{onClick:h,children:`Find repair candidates`});if(a._tag===`loading`)return(0,H.jsx)(W,{announce:!0,stateTag:a._tag,children:(0,H.jsx)(k,{tone:`secondary`,children:`Finding incomplete relationships…`})});if(a._tag===`load-failed`)return(0,H.jsx)(W,{stateTag:a._tag,children:(0,H.jsx)(l,{action:(0,H.jsx)(o,{onClick:h,children:`Try again`}),announce:`assertive`,description:`Candidate discovery did not change the release.`,title:`Could not find candidates`,tone:`caution`})});if(a._tag===`created`)return(0,H.jsx)(W,{announce:!0,stateTag:a._tag,children:(0,H.jsx)(u,{label:`Proposal created`,tone:`positive`})});if(a._tag===`drafting`)return(0,H.jsx)(W,{announce:!0,stateTag:a._tag,children:(0,H.jsx)(k,{tone:`secondary`,children:`Preparing an exact proposal…`})});if(a._tag===`draft-failed`)return(0,H.jsx)(W,{stateTag:a._tag,children:(0,H.jsx)(l,{action:(0,H.jsx)(o,{onClick:()=>_(a.candidate),children:`Refresh candidate`}),announce:`assertive`,description:`The relationship may have changed since discovery.`,title:`Candidate is stale`,tone:`caution`})});if(a._tag===`draft`||a._tag===`creating`||a._tag===`create-failed`){let e=a._tag===`creating`;return(0,H.jsx)(W,{announce:e,stateTag:a._tag,children:(0,H.jsxs)(O,{as:`section`,className:V.draft,padding:`none`,tone:`secondary`,children:[(0,H.jsxs)(`div`,{className:V.draftHeader,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(k,{as:`h4`,variant:`card-title`,children:[U(a.draft.proposal.disposition),` relationship`]}),(0,H.jsxs)(k,{tone:`tertiary`,variant:`meta`,children:[`r`,a.draft.precondition.expectedRevision,` → r`,a.draft.precondition.expectedRevision+1]})]}),(0,H.jsx)(u,{label:`Proposal preview`,size:`compact`,tone:`neutral`})]}),(0,H.jsx)(k,{children:a.draft.proposal.rationale}),a._tag===`create-failed`?(0,H.jsx)(k,{role:`alert`,tone:`secondary`,children:`The relationship changed or the proposal was not recorded. Refresh the candidate before retrying.`}):null,(0,H.jsxs)(`div`,{className:V.actions,children:[(0,H.jsx)(o,{disabled:e,onClick:()=>s({_tag:`ready`,page:a.page}),variant:`quiet`,children:`Back`}),(0,H.jsx)(o,{loading:e,onClick:()=>v(a.draft,a.page,a._tag===`create-failed`?a.proposalId:null),variant:`primary`,children:`Create proposal`})]})]})})}return a.page.candidates.length===0?(0,H.jsx)(W,{announce:!0,stateTag:a._tag,children:(0,H.jsx)(k,{tone:`secondary`,children:`No incomplete relationships need an owner decision.`})}):(0,H.jsx)(W,{stateTag:a._tag,children:(0,H.jsxs)(`div`,{className:V.candidates,children:[(0,H.jsxs)(`div`,{className:V.candidateHeader,children:[(0,H.jsxs)(k,{tone:`secondary`,children:[a.page.candidates.length,a.page.truncated?`+`:``,` incomplete relationship`,a.page.candidates.length===1?``:`s`]}),(0,H.jsx)(o,{onClick:()=>s({_tag:`idle`}),variant:`quiet`,children:`Close`})]}),a.page.candidates.map(e=>(0,H.jsxs)(`button`,{className:V.candidate,onClick:()=>g(e,a.page),type:`button`,children:[(0,H.jsxs)(`span`,{children:[(0,H.jsx)(`strong`,{children:ve(e)}),(0,H.jsx)(`small`,{children:e.explanation})]}),(0,H.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]},e.relationship.relationshipId))]})})},xe=N(function*(){let e=yield*(yield*se).randomUUIDv7;return yield*j(oe)(e)}),Se={apply:(e,t)=>A(N(function*(){return yield*(yield*I).deliveryGraph.applyRepairProposal({params:{proposalId:e}})}).pipe(M(P)),{signal:t}),list:(e,t,n)=>A(N(function*(){return yield*(yield*F()).deliveryGraph.listRepairProposals({params:{releaseId:e},query:t===null?{}:{environmentId:t}})}).pipe(M(P)),{signal:n}),makeReviewId:()=>A(xe.pipe(M(ce))),review:(e,t,n,r,i)=>A(N(function*(){return yield*(yield*I).deliveryGraph.reviewRepairProposal({params:{proposalId:e},payload:{reviewId:t,decision:n,rationale:r}})}).pipe(M(P)),{signal:i})},Ce=re(`UnauthorizedApiError`),we=()=>void 0,Te=(e,t)=>{let n=ne(t.proposedAt,e.proposedAt);return n===0?t.proposalId.localeCompare(e.proposalId):n},Ee=(e,t)=>{let n=new Map,r=new Map;for(let e of t){for(let t of e.proposals)n.set(t.proposalId,t);for(let t of e.applications)r.set(t.proposalId,t)}let i=[...n.values()].sort(Te),a=i.slice(0,128),o=a.flatMap(e=>{let t=r.get(e.proposalId);return t===void 0?[]:[t]});return{releaseId:e,environmentId:null,status:null,truncated:t.some(({truncated:e})=>e)||i.length>128,proposals:a,applications:o}},De=(e,t,n,r=Se,i=we)=>{let[a,o]=(0,B.useState)(0),[s,c]=(0,B.useState)({_tag:`idle`}),l=(0,B.useRef)(null),u=(0,B.useRef)(null),d=(0,B.useRef)(new Map),f=(0,B.useRef)(s),p=t.join(`:`);(0,B.useEffect)(()=>{if(l.current?.abort(),l.current=null,u.current=null,d.current.clear(),n===null){c({_tag:`idle`});return}let a=new AbortController;return c({_tag:`loading`}),L(t,t=>r.list(e,t,a.signal)).then(t=>{if(!a.signal.aborted){let r=Ee(e,t);c({_tag:`ready`,actionFailure:null,applications:new Map(r.applications.map(e=>[e.proposalId,e])),busyProposalId:null,environmentScopeKey:p,page:r,releaseId:e,sessionKey:n})}},e=>{a.signal.aborted||(Ce(e)&&i(n),c({_tag:`failed`}))}),()=>a.abort()},[p,i,e,a,n,r]),(0,B.useEffect)(()=>()=>l.current?.abort(),[]);let m=s._tag===`ready`&&(s.environmentScopeKey!==p||s.releaseId!==e||s.sessionKey!==n)?{_tag:`loading`}:s;f.current=m;let h=(0,B.useCallback)(e=>{if(f.current._tag!==`ready`||u.current!==null)return null;let t=new AbortController;return u.current=e,l.current?.abort(),l.current=t,c(t=>t._tag===`ready`?{...t,actionFailure:null,busyProposalId:e}:t),t},[]),g=(0,B.useCallback)(e=>l.current===e&&(l.current=null,u.current=null,!0),[]),_=(0,B.useCallback)(async(e,t,n)=>{let i=h(e);if(i===null)return!1;try{let a=d.current.get(e),o=a?.decision===t&&a.rationale===n?a:{decision:t,rationale:n,reviewId:await r.makeReviewId()};d.current.set(e,o);let s=await r.review(e,o.reviewId,t,n,i.signal);return!g(i)||i.signal.aborted?!1:(d.current.delete(e),c(t=>t._tag!==`ready`||i.signal.aborted?t:{...t,busyProposalId:null,page:{...t.page,proposals:t.page.proposals.map(t=>t.proposalId===e?s:t)}}),!0)}catch{return!i.signal.aborted&&g(i)&&c(t=>t._tag===`ready`?{...t,actionFailure:e,busyProposalId:null}:t),!1}},[h,g,r]);return{apply:(0,B.useCallback)(async e=>{let t=h(e);if(t===null)return!1;try{let n=await r.apply(e,t.signal);return!g(t)||t.signal.aborted?!1:(c(r=>{if(r._tag!==`ready`||t.signal.aborted)return r;let i=new Map(r.applications);return i.set(e,n.application),{...r,applications:i,busyProposalId:null}}),!0)}catch{return!t.signal.aborted&&g(t)&&c(t=>t._tag===`ready`?{...t,actionFailure:e,busyProposalId:null}:t),!1}},[h,g,r]),retry:(0,B.useCallback)(()=>o(e=>e+1),[]),review:_,state:m}},G={root:`_root_1x4wx_1`,ledger:`_ledger_1x4wx_2`,proposal:`_proposal_1x4wx_3`,proposalHeader:`_proposalHeader_1x4wx_4`,decision:`_decision_1x4wx_5`,reviewEvidence:`_reviewEvidence_1x4wx_6`,reviewForm:`_reviewForm_1x4wx_7`,loading:`_loading_1x4wx_8`,panelStack:`_panelStack_1x4wx_9`,header:`_header_1x4wx_26`,peopleTrace:`_peopleTrace_1x4wx_28`,actions:`_actions_1x4wx_29`,agentIdentity:`_agentIdentity_1x4wx_30`,rationale:`_rationale_1x4wx_80`,traceArrow:`_traceArrow_1x4wx_89`,agentGlyph:`_agentGlyph_1x4wx_98`,actionFailure:`_actionFailure_1x4wx_134`,status:`_status_1x4wx_138`,srOnly:`_srOnly_1x4wx_142`,"reveal-review":`_reveal-review_1x4wx_1`},Oe=()=>void 0,ke=e=>e.slice(-6),Ae=(e,t)=>e._tag===t._tag&&(e._tag===`human`?t._tag===`human`&&e.personId===t.personId:t._tag===`agent`&&e.agentId===t.agentId),je=(e,t,n)=>{let r=t.collaborators.find(({id:t})=>t.startsWith(`${e.personId}:`));return r===void 0?{id:e.personId,name:`Person ${ke(e.personId)}`,role:n}:{...r,role:n}},K=({actor:e,release:t,role:n})=>e._tag===`human`?(0,H.jsx)(T,{person:je(e,t,n),size:`compact`}):(0,H.jsxs)(`div`,{className:G.agentIdentity,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:G.agentGlyph,children:`✦`}),(0,H.jsxs)(`span`,{children:[(0,H.jsxs)(`strong`,{children:[`Agent `,ke(e.agentId)]}),(0,H.jsx)(`small`,{children:n})]})]}),Me=(e,t)=>{if(t!==void 0)return{label:`Applied · r${t.appliedRevision}`,tone:`positive`};switch(e.status){case`pending`:return{label:`Needs review`,tone:`caution`};case`approved`:return{label:`Ready to apply`,tone:`positive`};case`rejected`:return{label:`Rejected`,tone:`critical`}}},q=e=>ie(e,{day:`2-digit`,hour:`2-digit`,hour12:!1,locale:`en-GB`,minute:`2-digit`,month:`short`}),Ne=({actionFailed:e,application:t,isBusy:n,isGloballyBusy:r,mutationsEnabled:i,onApply:a,onRetry:c,onReview:d,proposal:f,release:p,session:m})=>{let[h,g]=(0,B.useState)(!1),[_,v]=(0,B.useState)(``),[y,b]=(0,B.useState)(null),x=(0,B.useRef)(null),S=Me(f,t),C=i&&f.status===`pending`&&(m.permission===`workspace-owner`||m.permission===`workspace-approver`)&&!Ae(f.origin.actor,m.actor),w=i&&f.status===`approved`&&t===void 0&&m.permission===`workspace-owner`,T=_.trim(),E=async e=>{T.length!==0&&await d(f.proposalId,e,T)&&(g(!1),v(``),b(e===`approved`?`Proposal approved.`:`Proposal rejected.`))},D=async()=>{await a(f.proposalId)&&b(`Repair applied.`)};return(0,B.useEffect)(()=>{y!==null&&x.current?.focus()},[y]),(0,H.jsxs)(O,{as:`article`,className:G.proposal,padding:`none`,tone:`secondary`,children:[(0,H.jsxs)(`header`,{className:G.proposalHeader,children:[(0,H.jsxs)(`div`,{className:G.decision,children:[(0,H.jsxs)(`strong`,{children:[f.disposition[0]?.toLocaleUpperCase(`en-US`),f.disposition.slice(1)]}),(0,H.jsxs)(`code`,{children:[`r`,f.expectedRevision,` → r`,f.expectedRevision+1]})]}),(0,H.jsxs)(`div`,{className:G.status,ref:x,tabIndex:y===null?void 0:-1,children:[(0,H.jsx)(u,{label:S.label,size:`compact`,tone:S.tone}),(0,H.jsx)(`span`,{"aria-live":`polite`,className:G.srOnly,children:y??``})]})]}),(0,H.jsx)(k,{className:G.rationale,variant:`body-large`,children:f.rationale}),(0,H.jsxs)(`div`,{className:G.peopleTrace,children:[(0,H.jsx)(K,{actor:f.origin.actor,release:p,role:`Proposed · ${q(f.proposedAt)}`}),f.review===null?null:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:G.traceArrow,children:`→`}),(0,H.jsx)(K,{actor:f.review.origin.actor,release:p,role:`${f.review.decision===`approved`?`Approved`:`Rejected`} · ${q(f.review.reviewedAt)}`})]}),t===void 0?null:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:G.traceArrow,children:`→`}),(0,H.jsx)(K,{actor:t.origin.actor,release:p,role:`Applied revision ${t.appliedRevision} · ${q(t.appliedAt)}`})]})]}),f.review===null?null:(0,H.jsxs)(`div`,{className:G.reviewEvidence,children:[(0,H.jsx)(k,{as:`strong`,variant:`label`,children:`Review note`}),(0,H.jsx)(k,{tone:`secondary`,children:f.review.rationale})]}),e?(0,H.jsx)(l,{action:(0,H.jsx)(o,{onClick:c,children:`Reload decisions`}),announce:`assertive`,className:G.actionFailure,description:`The proposal may have changed. Reload the release decisions before trying again.`,title:`Action not recorded`,tone:`caution`}):null,h&&C?(0,H.jsxs)(`form`,{className:G.reviewForm,onSubmit:e=>e.preventDefault(),children:[(0,H.jsx)(s,{description:`Stored with the immutable decision.`,label:`Review note`,required:!0,children:e=>(0,H.jsx)(`textarea`,{...e,autoFocus:!0,maxLength:1e3,onChange:e=>v(e.currentTarget.value),value:_})}),(0,H.jsxs)(`div`,{className:G.actions,children:[(0,H.jsx)(o,{disabled:T.length===0||r,loading:n,onClick:()=>void E(`rejected`),variant:`quiet`,children:`Reject`}),(0,H.jsx)(o,{disabled:T.length===0||r,loading:n,onClick:()=>void E(`approved`),variant:`primary`,children:`Approve`})]})]}):(0,H.jsxs)(`div`,{className:G.actions,children:[C?(0,H.jsx)(o,{disabled:r,onClick:()=>g(!0),children:`Review proposal`}):null,w?(0,H.jsx)(o,{disabled:r&&!n,loading:n,onClick:()=>void D(),variant:`primary`,children:`Apply repair`}):null,f.status===`pending`&&Ae(f.origin.actor,m.actor)?(0,H.jsx)(k,{tone:`tertiary`,variant:`meta`,children:`Another owner or approver must review.`}):null]})]})},Pe=()=>(0,H.jsxs)(`div`,{"aria-label":`Loading release decisions`,className:G.loading,role:`status`,children:[(0,H.jsx)(c,{decorative:!1,height:`1.5rem`,label:`Loading release decisions`,width:`12rem`}),(0,H.jsx)(c,{decorative:!0,height:`11rem`,variant:`block`})]}),Fe=({mutationsEnabled:e,onApply:t,onRetry:n,onReview:r,release:i,session:a,state:s})=>s._tag===`idle`||s._tag===`loading`?(0,H.jsx)(Pe,{}):s._tag===`failed`?(0,H.jsx)(l,{action:(0,H.jsx)(o,{onClick:n,children:`Try again`}),description:`Control Center could not read the governed decisions for this release.`,title:`Release decisions unavailable`,tone:`caution`}):s.page.proposals.length===0?(0,H.jsx)(l,{description:`No relationship repair is waiting for review or application.`,title:`No repair decisions`}):(0,H.jsxs)(`div`,{className:G.root,children:[(0,H.jsxs)(`header`,{className:G.header,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsx)(k,{as:`h3`,variant:`card-title`,children:`Repair decisions`}),(0,H.jsx)(k,{tone:`secondary`,children:`One compact ledger from proposal to human decision to applied revision.`})]}),(0,H.jsx)(u,{label:`${s.page.proposals.length}${s.page.truncated?`+`:``} decision${s.page.proposals.length===1?``:`s`}`,size:`compact`,tone:`neutral`})]}),(0,H.jsx)(`div`,{className:G.ledger,children:s.page.proposals.map(o=>(0,H.jsx)(Ne,{actionFailed:s.actionFailure===o.proposalId,application:s.applications.get(o.proposalId),isBusy:s.busyProposalId===o.proposalId,isGloballyBusy:s.busyProposalId!==null,mutationsEnabled:e,onApply:t,onRetry:n,onReview:r,proposal:o,release:i,session:a},o.proposalId))})]}),Ie=e=>{let t=e.actor._tag===`human`?e.actor.personId:e.actor.agentId;return`${e.sessionId}:${e.workspaceId}:${e.permission}:${e.actor._tag}:${t}`},Le=e=>{switch(e._tag){case`authenticated`:return{mutationsEnabled:!0,session:e.session};case`storage-unavailable`:return{mutationsEnabled:!1,session:e.session};case`anonymous`:case`blocked`:case`checking`:case`unavailable`:return{mutationsEnabled:!1,session:null}}},Re=({browserSessionState:e,onSessionExpired:t=Oe,release:n,transport:r})=>{let i=Le(e),a=De(n.id,n.targetEnvironmentIds,i.session?.sessionId??null,r,t);return i.session===null?(0,H.jsx)(Pe,{}):(0,H.jsxs)(`div`,{className:G.panelStack,children:[(0,H.jsx)(Fe,{mutationsEnabled:i.mutationsEnabled,onApply:a.apply,onRetry:a.retry,onReview:a.review,release:n,session:i.session,state:a.state}),i.mutationsEnabled?(0,H.jsx)(be,{environmentIds:n.targetEnvironmentIds,onCreated:a.retry,releaseId:n.id,session:i.session},`${n.id}:${n.targetEnvironmentIds.join(`:`)}:${Ie(i.session)}`):null]})},ze=({release:e})=>{let t=m();return(0,H.jsx)(Re,{browserSessionState:t.state,onSessionExpired:t.invalidateSession,release:e})},J={state:`_state_1mg2y_1`,back:`_back_1mg2y_8`,releaseAction:`_releaseAction_1mg2y_9`,previewDetails:`_previewDetails_1mg2y_33`,evidence:`_evidence_1mg2y_34`,full:`_full_1mg2y_35`,fullHeader:`_fullHeader_1mg2y_36`,fullTitle:`_fullTitle_1mg2y_37`,section:`_section_1mg2y_38`,evidenceHeading:`_evidenceHeading_1mg2y_47`,fullIdentity:`_fullIdentity_1mg2y_48`},Be=(e,t)=>{let n=fe(t);if(n===null||e.controller.state._tag!==`ready`)return null;let r=e.controller.state.portfolio.releases.find(e=>e.id===n);return r===void 0?null:{release:r,releaseId:n}},Ve=({workspaceId:e})=>{let t=(0,B.useRef)(null);return(0,B.useEffect)(()=>t.current?.focus(),[]),(0,H.jsx)(`section`,{className:J.state,"data-release-not-found":``,ref:t,tabIndex:-1,children:(0,H.jsx)(l,{action:(0,H.jsx)(f,{to:y(e),children:`Return to workspace overview`}),description:`This release does not exist in the current workspace snapshot. It may have been removed or the address may be incorrect.`,title:`Release not found`})})},Y=({context:e})=>{let t=(0,B.useRef)(null);return(0,B.useEffect)(()=>t.current?.querySelector(`#portfolio-title`)?.focus(),[]),(0,H.jsx)(`div`,{ref:t,children:(0,H.jsx)(me,{onPreviewRelease:()=>void 0,onRetry:e.controller.onRetry,state:e.controller.state})})},X=({release:e})=>{let t=r(),n=i(),a=(()=>{switch(e.readinessVerdict){case`blocked`:return{label:`Review blocker`,to:h(t.workspaceId,e.id)};case`held`:return{label:`Repair missing links`,to:`${b(t.workspaceId,e.id)}#release-work`};case`ready`:return{label:`Review ship evidence`,to:`${b(t.workspaceId,e.id)}#release-evidence`};case`deploying`:return{label:`Open deployment`,to:`${b(t.workspaceId,e.id)}#release-work`};case`building`:return{label:`Open build`,to:`${b(t.workspaceId,e.id)}#release-work`};case`shipped`:return{label:`View release record`,to:`${b(t.workspaceId,e.id)}#release-evidence`};case`unknown`:return null}})();return a===null?(0,H.jsx)(o,{disabled:!0,size:`principal`,stretch:!0,variant:`primary`,children:`Readiness evidence required`}):(0,H.jsx)(f,{className:J.releaseAction,state:n.state,to:a.to,children:a.label})},Z=({release:e})=>(0,H.jsxs)(O,{as:`section`,className:J.evidence,padding:`compact`,tone:`secondary`,children:[(0,H.jsxs)(`div`,{className:J.evidenceHeading,children:[e.source.service===null?null:(0,H.jsx)(E,{service:e.source.service}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(k,{as:`h2`,variant:`card-title`,children:e.source.displayName}),(0,H.jsx)(k,{tone:`secondary`,variant:`meta`,children:`Source evidence`})]})]}),(0,H.jsx)(u,{label:e.source.healthLabel,size:`compact`,tone:e.source.healthTone}),e.source.warning===null?(0,H.jsx)(k,{tone:`secondary`,children:`Detailed evidence is not evaluated in the tracer snapshot.`}):(0,H.jsx)(k,{tone:`secondary`,children:e.source.warning})]}),He=e=>`${e.serviceName} · ${e.version} · ${e.relay.codename} · ${e.id}`,Q=({release:e})=>{let t=r(),n=i(),o=a(),s=z();return(0,H.jsx)(w,{actionLabel:`Ask about this release`,agentName:`Relay`,context:He(e),onClick:()=>o(g(t.workspaceId,e.id),{state:n.state,viewTransition:!s})})},$=({release:e})=>e.collaborators.length===0?(0,H.jsx)(l,{description:`Assign an owner or approver before a governed release action can proceed.`,title:`No release collaborators assigned`}):(0,H.jsx)(C,{"aria-label":`All ${e.serviceName} release collaborators`,expanded:!0,limit:e.collaborators.length,onExpandedChange:()=>void 0,people:e.collaborators}),Ue=({selection:e})=>{let t=r(),n=he(),o=z(),s=i(),c=a(),[l,u]=(0,B.useState)(null),[f,p]=(0,B.useState)(!0),m=de(s.state,t.workspaceId,e.releaseId),h=pe(m.origin),v=b(t.workspaceId,e.releaseId),y=g(t.workspaceId,e.releaseId),x=_(t.workspaceId,e.releaseId),S=d(x),C=d(v),w=d(y),T=S||C||w?ue(e.releaseId):void 0;(0,B.useEffect)(()=>{f||l===null||c(h,{replace:!0})},[t.workspaceId,l,f,c,h,e.releaseId]);let E=()=>{t.requestReleaseFocus(e.releaseId),u(`origin`),p(!1)};return(0,H.jsx)(D,{agentEntry:(0,H.jsx)(Q,{release:e.release}),collaborators:(0,H.jsx)($,{release:e.release}),entryMotion:m.isStored?`external`:`intrinsic`,evidence:(0,H.jsx)(Z,{release:e.release}),onOpenChange:e=>{e||E()},onOpenFullView:()=>c(v,{state:s.state,viewTransition:!o}),open:f,openFullViewLabel:`Open ${e.release.relay.codename} full view`,presentation:n?`sheet`:`dialog`,primaryAction:(0,H.jsx)(X,{release:e.release}),release:e.release.release,stages:(0,H.jsx)(ee,{heading:`Release stages`,stages:e.release.stages}),...T===void 0?{}:{transitionNames:T},workset:(0,H.jsx)(`div`,{className:J.previewDetails,children:(0,H.jsx)(R,{release:e.release,workspaceId:t.workspaceId})})})},We=()=>{let e=r(),t=n();if(e.controller.state._tag!==`ready`)return(0,H.jsx)(Y,{context:e});let i=Be(e,t.releaseId);return i===null?(0,H.jsx)(Ve,{workspaceId:e.workspaceId}):(0,H.jsx)(Ue,{selection:i})},Ge=({selection:e})=>{let t=r(),n=i(),a=(0,B.useRef)(null),o=le(n.state,t.workspaceId,e.releaseId),s=o.pathname===p(t.workspaceId)?`Back to items`:`Back to overview`,c=e.release,l=b(t.workspaceId,e.releaseId),u=g(t.workspaceId,e.releaseId),m=d(l),h=d(u),_=m||h?ue(e.releaseId):void 0;return(0,B.useEffect)(()=>a.current?.focus(),[]),(0,H.jsxs)(`article`,{className:J.full,"data-release-full-id":c.id,children:[(0,H.jsxs)(`header`,{className:J.fullHeader,children:[(0,H.jsx)(f,{className:J.back,to:pe(o),children:s}),(0,H.jsxs)(`div`,{className:J.fullIdentity,children:[(0,H.jsx)(te,{algorithm:c.relay.algorithm,codename:c.relay.codename,"data-rly-release-transition-name":_?.relay,"data-rly-release-transition-part":`relay`,size:`hero`,style:_===void 0?void 0:{viewTransitionName:_.relay},symbolIndices:c.relay.symbolIndices}),c.source.freshnessDateTime===null||c.source.freshnessTime===null?(0,H.jsx)(S,{state:c.source.freshness}):(0,H.jsx)(S,{dateTime:c.source.freshnessDateTime,state:c.source.freshness,time:c.source.freshnessTime})]}),(0,H.jsxs)(`div`,{className:J.fullTitle,children:[(0,H.jsx)(k,{as:`h1`,id:`release-title`,ref:a,tabIndex:-1,variant:`verdict`,children:c.serviceName}),(0,H.jsx)(k,{as:`code`,"data-rly-release-transition-name":_?.version,"data-rly-release-transition-part":`version`,style:_===void 0?void 0:{viewTransitionName:_.version},tone:`secondary`,variant:`code`,children:c.version})]}),(0,H.jsx)(x,{"data-rly-release-transition-name":_?.verdict,"data-rly-release-transition-part":`verdict`,reason:c.readinessReason,style:_===void 0?void 0:{viewTransitionName:_.verdict},tone:c.release.tone,verdict:c.release.verdict}),(0,H.jsx)(X,{release:c})]}),(0,H.jsx)(ee,{heading:`Build, verify, production`,stages:c.stages}),(0,H.jsxs)(`section`,{"aria-labelledby":`release-people`,className:J.section,children:[(0,H.jsx)(k,{as:`h2`,id:`release-people`,variant:`section-title`,children:`People`}),(0,H.jsx)($,{release:c})]}),(0,H.jsxs)(`section`,{"aria-labelledby":`release-work-title`,className:J.section,id:`release-work`,children:[(0,H.jsx)(k,{as:`h2`,id:`release-work-title`,variant:`section-title`,children:`Delivery relationships`}),(0,H.jsx)(R,{release:c,workspaceId:t.workspaceId}),(0,H.jsx)(ze,{release:c})]}),(0,H.jsxs)(`section`,{"aria-labelledby":`release-evidence-title`,className:J.section,id:`release-evidence`,children:[(0,H.jsx)(k,{as:`h2`,id:`release-evidence-title`,variant:`section-title`,children:`Evidence`}),(0,H.jsx)(Z,{release:c})]}),(0,H.jsxs)(`section`,{"aria-labelledby":`release-agent`,className:J.section,children:[(0,H.jsx)(k,{as:`h2`,id:`release-agent`,variant:`section-title`,children:`Release agent`}),(0,H.jsx)(Q,{release:c})]})]})},Ke=()=>{let e=r(),t=n();if(e.controller.state._tag!==`ready`)return(0,H.jsx)(Y,{context:e});let i=Be(e,t.releaseId);return i===null?(0,H.jsx)(Ve,{workspaceId:e.workspaceId}):(0,H.jsx)(Ge,{selection:i})};export{X as ReleaseAction,Q as ReleaseAgentEntry,Z as ReleaseEvidence,Ke as ReleaseFullRoute,We as ReleasePreviewRoute,ze as t};
|
|
2
|
+
//# sourceMappingURL=ReleaseRoute-0QrCZbE4.js.map
|