@knpkv/control-center 0.7.0 → 0.8.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.
Files changed (162) hide show
  1. package/dist/client/.vite/manifest.json +312 -255
  2. package/dist/client/assets/ActiveWorkPage-C6lIQfjL.js +2 -0
  3. package/dist/client/assets/{ActiveWorkPage-BsaIr8ah.js.map → ActiveWorkPage-C6lIQfjL.js.map} +1 -1
  4. package/dist/client/assets/AgentPage-DqB5BilE.js +6 -0
  5. package/dist/client/assets/{AgentPage-Cybynsnc.js.map → AgentPage-DqB5BilE.js.map} +1 -1
  6. package/dist/client/assets/{AtlassianOAuthCallbackPage-Du3pHuS9.js → AtlassianOAuthCallbackPage-DzTO6SqN.js} +2 -2
  7. package/dist/client/assets/{AtlassianOAuthCallbackPage-Du3pHuS9.js.map → AtlassianOAuthCallbackPage-DzTO6SqN.js.map} +1 -1
  8. package/dist/client/assets/AuthorizedSharePage-V_E5giT7.js +2 -0
  9. package/dist/client/assets/{AuthorizedSharePage-tfTdXNjt.js.map → AuthorizedSharePage-V_E5giT7.js.map} +1 -1
  10. package/dist/client/assets/BrowserCrypto-CoBR2WBd.js +2 -0
  11. package/dist/client/assets/{BrowserCrypto-DVxU0-Oc.js.map → BrowserCrypto-CoBR2WBd.js.map} +1 -1
  12. package/dist/client/assets/BrowserSessionHydrator-CEypgMkR.js +2 -0
  13. package/dist/client/assets/{BrowserSessionHydrator-CvtvZstV.js.map → BrowserSessionHydrator-CEypgMkR.js.map} +1 -1
  14. package/dist/client/assets/CommandSearch-syQMt_rx.js +2 -0
  15. package/dist/client/assets/{CommandSearch-Bf_oW_kD.js.map → CommandSearch-syQMt_rx.js.map} +1 -1
  16. package/dist/client/assets/Dialog-DSwimdwG-BeHnBpPp.js +42 -0
  17. package/dist/client/assets/Dialog-DSwimdwG-BeHnBpPp.js.map +1 -0
  18. package/dist/client/assets/Domain-cJ5aJFpE.js +2 -0
  19. package/dist/client/assets/Domain-cJ5aJFpE.js.map +1 -0
  20. package/dist/client/assets/ItemsPage-Cr3--iJc.js +2 -0
  21. package/dist/client/assets/{ItemsPage-BmWEHinz.js.map → ItemsPage-Cr3--iJc.js.map} +1 -1
  22. package/dist/client/assets/OpenPullRequestPage-BYoRmtui.js +2 -0
  23. package/dist/client/assets/OpenPullRequestPage-BYoRmtui.js.map +1 -0
  24. package/dist/client/assets/{Pages-BmZj4KzS.js → Pages-DrDuXLFH.js} +2 -2
  25. package/dist/client/assets/{Pages-BmZj4KzS.js.map → Pages-DrDuXLFH.js.map} +1 -1
  26. package/dist/client/assets/PairPage-ByOBKuBB.js +2 -0
  27. package/dist/client/assets/{PairPage-CLLUweYZ.js.map → PairPage-ByOBKuBB.js.map} +1 -1
  28. package/dist/client/assets/PortalProvider-CN_81Fy3-D_japesx.js +2 -0
  29. package/dist/client/assets/{PortalProvider-BpgZwSpw-nEH0TqWT.js.map → PortalProvider-CN_81Fy3-D_japesx.js.map} +1 -1
  30. package/dist/client/assets/PortfolioOverview-BacOXO-c.js +2 -0
  31. package/dist/client/assets/{PortfolioOverview-BBKSc-yI.js.map → PortfolioOverview-BacOXO-c.js.map} +1 -1
  32. package/dist/client/assets/{PullRequestReviewPanel-Boi0A6pq.js → PullRequestReviewPanel-DwVYuZ8Q.js} +5 -5
  33. package/dist/client/assets/{PullRequestReviewPanel-Boi0A6pq.js.map → PullRequestReviewPanel-DwVYuZ8Q.js.map} +1 -1
  34. package/dist/client/assets/ReleaseRoute-C-MfQKnL.js +2 -0
  35. package/dist/client/assets/{ReleaseRoute-D4CttCjC.js.map → ReleaseRoute-C-MfQKnL.js.map} +1 -1
  36. package/dist/client/assets/ReleaseWorkset-MV3I0HCi.js +2 -0
  37. package/dist/client/assets/{ReleaseWorkset-Dt-ArwsN.js.map → ReleaseWorkset-MV3I0HCi.js.map} +1 -1
  38. package/dist/client/assets/ReviewSuggestionPublicationSurface-BZIa-Vvc.js +2 -0
  39. package/dist/client/assets/{ReviewSuggestionPublicationSurface-N9Qwdh2n.js.map → ReviewSuggestionPublicationSurface-BZIa-Vvc.js.map} +1 -1
  40. package/dist/client/assets/ServicesPage-BjeCOlsh.js +2 -0
  41. package/dist/client/assets/{ServicesPage-D0ygZTFD.js.map → ServicesPage-BjeCOlsh.js.map} +1 -1
  42. package/dist/client/assets/TimelinePage-Ccnp6Mmg.js +2 -0
  43. package/dist/client/assets/{TimelinePage-Bb2o9DGU.js.map → TimelinePage-Ccnp6Mmg.js.map} +1 -1
  44. package/dist/client/assets/{WorkspaceEntityLink-Cw675wTN.js → WorkspaceEntityLink-D3TXDcD0.js} +2 -2
  45. package/dist/client/assets/{WorkspaceEntityLink-Cw675wTN.js.map → WorkspaceEntityLink-D3TXDcD0.js.map} +1 -1
  46. package/dist/client/assets/WorkspaceEntityRoute-uUK6vwM_.js +14 -0
  47. package/dist/client/assets/WorkspaceEntityRoute-uUK6vwM_.js.map +1 -0
  48. package/dist/client/assets/WorkspaceHomeLink-D5SdEgJJ.js +2 -0
  49. package/dist/client/assets/{WorkspaceHomeLink-FGslxXCu.js.map → WorkspaceHomeLink-D5SdEgJJ.js.map} +1 -1
  50. package/dist/client/assets/WorkspacePullRequestDetails-CKedGIT8.js +3 -0
  51. package/dist/client/assets/{WorkspacePullRequestDetails-Dxg8argO.js.map → WorkspacePullRequestDetails-CKedGIT8.js.map} +1 -1
  52. package/dist/client/assets/{WorkspaceReleaseLayout-BvEiZJEb.js → WorkspaceReleaseLayout-Bdvl0q99.js} +2 -2
  53. package/dist/client/assets/{WorkspaceReleaseLayout-BvEiZJEb.js.map → WorkspaceReleaseLayout-Bdvl0q99.js.map} +1 -1
  54. package/dist/client/assets/{WorkspaceRichText-CocmKQ4T.js → WorkspaceRichText-Beh64wsV.js} +2 -2
  55. package/dist/client/assets/{WorkspaceRichText-CocmKQ4T.js.map → WorkspaceRichText-Beh64wsV.js.map} +1 -1
  56. package/dist/client/assets/WorkspaceSettingsPage-BxFq65Vf.js +2 -0
  57. package/dist/client/assets/{WorkspaceSettingsPage-iZhUs-pg.js.map → WorkspaceSettingsPage-BxFq65Vf.js.map} +1 -1
  58. package/dist/client/assets/{agent-api-CzdQFCcD.js → agent-api-CUWP1qs8.js} +2 -2
  59. package/dist/client/assets/{agent-api-CzdQFCcD.js.map → agent-api-CUWP1qs8.js.map} +1 -1
  60. package/dist/client/assets/{atlassianOAuthSetupIntentStorage-BxsxmjSm.js → atlassianOAuthSetupIntentStorage-Cy1Gw639.js} +2 -2
  61. package/dist/client/assets/{atlassianOAuthSetupIntentStorage-BxsxmjSm.js.map → atlassianOAuthSetupIntentStorage-Cy1Gw639.js.map} +1 -1
  62. package/dist/client/assets/authenticatedMutationClient-Bc_-Jpbo.js +2 -0
  63. package/dist/client/assets/{authenticatedMutationClient-DUqEcJHu.js.map → authenticatedMutationClient-Bc_-Jpbo.js.map} +1 -1
  64. package/dist/client/assets/authorizedShareTransport-kkT3Jf6q.js +2 -0
  65. package/dist/client/assets/{authorizedShareTransport-7YCNH9l3.js.map → authorizedShareTransport-kkT3Jf6q.js.map} +1 -1
  66. package/dist/client/assets/client-D3WRV6yl.js +5 -0
  67. package/dist/client/assets/client-D3WRV6yl.js.map +1 -0
  68. package/dist/client/assets/{confluenceTasks-D9yrB-oV.js → confluenceTasks-By7BV0WN.js} +2 -2
  69. package/dist/client/assets/{confluenceTasks-D9yrB-oV.js.map → confluenceTasks-By7BV0WN.js.map} +1 -1
  70. package/dist/client/assets/connectionTestTransport-CRq7l9X0.js +2 -0
  71. package/dist/client/assets/{connectionTestTransport-D8tiZ4ym.js.map → connectionTestTransport-CRq7l9X0.js.map} +1 -1
  72. package/dist/client/assets/controlCenterRelayDock-D7375HPG.js +3 -0
  73. package/dist/client/assets/controlCenterRelayDock-D7375HPG.js.map +1 -0
  74. package/dist/client/assets/controlCenterRelayDockChrome-B7jSUI3t.js +3 -0
  75. package/dist/client/assets/controlCenterRelayDockChrome-B7jSUI3t.js.map +1 -0
  76. package/dist/client/assets/index-BVikncBH.js +11 -0
  77. package/dist/client/assets/index-BVikncBH.js.map +1 -0
  78. package/dist/client/assets/index-tjRpNCt_.css +1 -0
  79. package/dist/client/assets/openPullRequest-BMlmibLP.js +2 -0
  80. package/dist/client/assets/openPullRequest-BMlmibLP.js.map +1 -0
  81. package/dist/client/assets/patterns-DAeEdyxU.js +2 -0
  82. package/dist/client/assets/patterns-DAeEdyxU.js.map +1 -0
  83. package/dist/client/assets/{presentPortfolio-c8-wbodG.js → presentPortfolio-DVP-zqTg.js} +2 -2
  84. package/dist/client/assets/{presentPortfolio-c8-wbodG.js.map → presentPortfolio-DVP-zqTg.js.map} +1 -1
  85. package/dist/client/assets/{presentWorkspaceItems-DfhyQeSY.js → presentWorkspaceItems-BY8bmqjF.js} +2 -2
  86. package/dist/client/assets/{presentWorkspaceItems-DfhyQeSY.js.map → presentWorkspaceItems-BY8bmqjF.js.map} +1 -1
  87. package/dist/client/assets/primitives-DYGtIZqB-r-Glkv2i.js +2 -0
  88. package/dist/client/assets/primitives-DYGtIZqB-r-Glkv2i.js.map +1 -0
  89. package/dist/client/assets/pullRequestReviewFailures-CCNxSXP6.js +2 -0
  90. package/dist/client/assets/{pullRequestReviewFailures-QvtS729d.js.map → pullRequestReviewFailures-CCNxSXP6.js.map} +1 -1
  91. package/dist/client/assets/pullRequestReviewThreadReplay-eI3Y4i6s.js +2 -0
  92. package/dist/client/assets/{pullRequestReviewThreadReplay-CpPdYxQE.js.map → pullRequestReviewThreadReplay-eI3Y4i6s.js.map} +1 -1
  93. package/dist/client/assets/{releaseAgentTransport-BCQDYqZt.js → releaseAgentTransport-CJjWwE8y.js} +2 -2
  94. package/dist/client/assets/{releaseAgentTransport-BCQDYqZt.js.map → releaseAgentTransport-CJjWwE8y.js.map} +1 -1
  95. package/dist/client/assets/releaseRoutes-h4FVwFvJ.js +2 -0
  96. package/dist/client/assets/{releaseRoutes-CSP_eBj6.js.map → releaseRoutes-h4FVwFvJ.js.map} +1 -1
  97. package/dist/client/assets/{serviceOnboarding-B6v5VXTG.js → serviceOnboarding-F9Lj6a7y.js} +2 -2
  98. package/dist/client/assets/{serviceOnboarding-B6v5VXTG.js.map → serviceOnboarding-F9Lj6a7y.js.map} +1 -1
  99. package/dist/client/assets/useWorkspaceDefaultLanding-DMWfrZfF.js +3 -0
  100. package/dist/client/assets/{useWorkspaceDefaultLanding-C3PRrLgk.js.map → useWorkspaceDefaultLanding-DMWfrZfF.js.map} +1 -1
  101. package/dist/client/assets/useWorkspaceItems-6KWfmFtx.js +2 -0
  102. package/dist/client/assets/{useWorkspaceItems-CHYpfLmL.js.map → useWorkspaceItems-6KWfmFtx.js.map} +1 -1
  103. package/dist/client/assets/{workspaceEntityRoutes-CFPO-iFw.js → workspaceEntityRoutes-BJ-SC0Jd.js} +2 -2
  104. package/dist/client/assets/{workspaceEntityRoutes-CFPO-iFw.js.map → workspaceEntityRoutes-BJ-SC0Jd.js.map} +1 -1
  105. package/dist/client/assets/{workspaceScrollCapture-DUj-_YMd.js → workspaceScrollCapture-CwBIBHg8.js} +2 -2
  106. package/dist/client/assets/{workspaceScrollCapture-DUj-_YMd.js.map → workspaceScrollCapture-CwBIBHg8.js.map} +1 -1
  107. package/dist/client/assets/workspaceSettingsTransport-BwRQteEH.js +2 -0
  108. package/dist/client/assets/{workspaceSettingsTransport-Kq7lfPsC.js.map → workspaceSettingsTransport-BwRQteEH.js.map} +1 -1
  109. package/dist/client/build-graph.json +63 -0
  110. package/dist/client/index.html +3 -3
  111. package/dist/server/api/index.js +1 -1
  112. package/dist/server/assets/{BindConfig-hNWrGfu2.js → BindConfig-D8aIjI_R.js} +2 -2
  113. package/dist/server/assets/{BindConfig-hNWrGfu2.js.map → BindConfig-D8aIjI_R.js.map} +1 -1
  114. package/dist/server/assets/{controlCenterApi-BcVWTP9F.js → controlCenterApi-WaKi6EUb.js} +2 -1
  115. package/dist/server/assets/controlCenterApi-WaKi6EUb.js.map +1 -0
  116. package/dist/server/index.js +1 -1
  117. package/dist/server/server/cli.js +1 -1
  118. package/dist/server/server/index.js +1 -1
  119. package/package.json +7 -6
  120. package/dist/client/assets/ActiveWorkPage-BsaIr8ah.js +0 -2
  121. package/dist/client/assets/AgentPage-Cybynsnc.js +0 -6
  122. package/dist/client/assets/AuthorizedSharePage-tfTdXNjt.js +0 -2
  123. package/dist/client/assets/BrowserCrypto-DVxU0-Oc.js +0 -2
  124. package/dist/client/assets/BrowserSessionHydrator-CvtvZstV.js +0 -2
  125. package/dist/client/assets/CommandSearch-Bf_oW_kD.js +0 -2
  126. package/dist/client/assets/Dialog-1WvU8GjA-C7r26HF0.js +0 -42
  127. package/dist/client/assets/Dialog-1WvU8GjA-C7r26HF0.js.map +0 -1
  128. package/dist/client/assets/ItemsPage-BmWEHinz.js +0 -2
  129. package/dist/client/assets/OpenPullRequestPage-DkCom6mf.js +0 -2
  130. package/dist/client/assets/OpenPullRequestPage-DkCom6mf.js.map +0 -1
  131. package/dist/client/assets/PairPage-CLLUweYZ.js +0 -2
  132. package/dist/client/assets/PortalProvider-BpgZwSpw-nEH0TqWT.js +0 -2
  133. package/dist/client/assets/PortfolioOverview-BBKSc-yI.js +0 -2
  134. package/dist/client/assets/ReleaseRoute-D4CttCjC.js +0 -2
  135. package/dist/client/assets/ReleaseWorkset-Dt-ArwsN.js +0 -2
  136. package/dist/client/assets/ReviewSuggestionPublicationSurface-N9Qwdh2n.js +0 -2
  137. package/dist/client/assets/ServicesPage-D0ygZTFD.js +0 -2
  138. package/dist/client/assets/TimelinePage-Bb2o9DGU.js +0 -2
  139. package/dist/client/assets/WorkspaceEntityRoute-rLRiaF8b.js +0 -14
  140. package/dist/client/assets/WorkspaceEntityRoute-rLRiaF8b.js.map +0 -1
  141. package/dist/client/assets/WorkspaceHomeLink-FGslxXCu.js +0 -2
  142. package/dist/client/assets/WorkspacePullRequestDetails-Dxg8argO.js +0 -3
  143. package/dist/client/assets/WorkspaceSettingsPage-iZhUs-pg.js +0 -2
  144. package/dist/client/assets/authenticatedMutationClient-DUqEcJHu.js +0 -2
  145. package/dist/client/assets/authorizedShareTransport-7YCNH9l3.js +0 -2
  146. package/dist/client/assets/client-D2F6HlDk.js +0 -5
  147. package/dist/client/assets/client-D2F6HlDk.js.map +0 -1
  148. package/dist/client/assets/connectionTestTransport-D8tiZ4ym.js +0 -2
  149. package/dist/client/assets/index-BWx9sNOT.js +0 -11
  150. package/dist/client/assets/index-BWx9sNOT.js.map +0 -1
  151. package/dist/client/assets/index-CIfiz7oF.css +0 -1
  152. package/dist/client/assets/patterns-CxMz8DKX-ByHwV03y.js +0 -2
  153. package/dist/client/assets/patterns-CxMz8DKX-ByHwV03y.js.map +0 -1
  154. package/dist/client/assets/primitives-CW89TsFB-BBLwFFPo.js +0 -2
  155. package/dist/client/assets/primitives-CW89TsFB-BBLwFFPo.js.map +0 -1
  156. package/dist/client/assets/pullRequestReviewFailures-QvtS729d.js +0 -2
  157. package/dist/client/assets/pullRequestReviewThreadReplay-CpPdYxQE.js +0 -2
  158. package/dist/client/assets/releaseRoutes-CSP_eBj6.js +0 -2
  159. package/dist/client/assets/useWorkspaceDefaultLanding-C3PRrLgk.js +0 -3
  160. package/dist/client/assets/useWorkspaceItems-CHYpfLmL.js +0 -2
  161. package/dist/client/assets/workspaceSettingsTransport-Kq7lfPsC.js +0 -2
  162. package/dist/server/assets/controlCenterApi-BcVWTP9F.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./react-CwJFpaho.js";import{o as n,r}from"./hooks-K-sIfGqH.js";import{t as i}from"./lib-6h955hh9.js";import{t as a}from"./jsx-runtime-NZYk81nU.js";import{d as o,g as s,p as c,r as l,v as u}from"./Dialog-DSwimdwG-BeHnBpPp.js";import{f as d,m as f,p}from"./index-BVikncBH.js";import{a as m,n as h}from"./patterns-DAeEdyxU.js";import{n as g}from"./primitives-DYGtIZqB-r-Glkv2i.js";import{$t as _,Bn as v,Pn as y,Ti as b,Xr as x,Ya as S,_i as C,cn as w,gi as ee,ja as T,ki as E,nr as te,qa as ne}from"./agent-api-CUWP1qs8.js";import{a as D,t as O}from"./client-D3WRV6yl.js";import{n as k}from"./workspaceEntityPaths-xAl2jRFm.js";import{n as A,t as j}from"./workspaceScrollCapture-CwBIBHg8.js";import{r as re,t as ie}from"./confluenceTasks-By7BV0WN.js";import{n as M,t as ae}from"./WorkspaceEntityLink-D3TXDcD0.js";var N=e(t(),1),oe=e=>e._tag!==`missing`&&e._tag!==`rejected`&&e._tag!==`superseded`,se=e=>/(?:^|[\s_-])(?:approval|approve)(?:$|[\s_-])/iu.test(e)||/release[\s_-]*gate/iu.test(e),ce=e=>{let t=new Map(e.nodes.map(e=>[e.nodeId,e])),n=new Map(e.entityProjections.map(({projection:e})=>[e.entityId,e])),r=new Set(e.relationships.flatMap(e=>{if(e.kind!==`delivered-by`||e.sourceNodeKind!==`pull-request`||e.targetNodeKind!==`pipeline-execution`||!oe(e.lifecycle))return[];let n=t.get(e.sourceNodeId),r=t.get(e.targetNodeId);return n?.resolution._tag===`resolved`&&n.resolution.target._tag===`entity`&&r?.resolution._tag===`resolved`&&r.resolution.target._tag===`entity`?[r.resolution.target.entityId]:[]})),i=0,a=[];for(let e of r){let t=n.get(e),r=t?.details;if(t?.entityState!==`present`||t.entityType!==`pipeline-execution`||r?._tag!==`pipeline-execution`){i+=1;continue}let o=new Set((r.actions??[]).flatMap(e=>e.category?.toLocaleLowerCase(`en-US`)===`approval`||e.provider?.toLocaleLowerCase(`en-US`)===`manual`?[e.stageName]:[])),s=(r.stages??[]).filter(e=>o.has(e.name)||se(e.name)),c=s.some(e=>{if(e.status!==`running`)return!1;let t=(r.actions??[]).filter(t=>t.stageName===e.name&&(t.category?.toLocaleLowerCase(`en-US`)===`approval`||t.provider?.toLocaleLowerCase(`en-US`)===`manual`));return t.length===0||t.some(({status:e})=>e===`running`)});a.push({entityId:e,pipelineName:r.pipelineName,state:s.length===0?`missing`:c?`waiting`:`not-waiting`})}return{affected:r.size,gates:a,missing:a.filter(({state:e})=>e===`missing`).length,notWaiting:a.filter(({state:e})=>e===`not-waiting`).length,ready:!e.truncated&&i===0&&a.every(({state:e})=>e===`waiting`),unverifiablePipelines:i,waiting:a.filter(({state:e})=>e===`waiting`).length}},le=(e,t,n,r)=>`/w/${e}/releases/${t}?object=${encodeURIComponent(n)}&relationship=${encodeURIComponent(r)}#release-work`,P=e=>{let t=e.toLocaleLowerCase(`en-US`);return[`blocked`,`changes requested`,`failed`,`rejected`,`rolled back`,`stopped`,`superseded`].some(e=>t.includes(e))?`critical`:[`approved`,`closed`,`current`,`done`,`merged`,`not required`,`passed`,`ready`,`resolved`,`succeeded`].some(e=>t.includes(e))?`positive`:[`deploying`,`in progress`,`in review`,`pending`,`queued`,`requested`,`running`,`verifying`].some(e=>t.includes(e))?`progress`:`neutral`},F=e=>{switch(e){case`not-requested`:return`Review not requested`;case`requested`:return`Review requested`;case`changes-requested`:return`Changes requested`;case`approved`:return`Approved`;case`merged`:return`Merged`}},I=e=>{switch(e.reviewState){case`approved`:case`changes-requested`:case`merged`:return F(e.reviewState);case`not-requested`:case`requested`:return e.lifecycle===`merged`?`Merged`:e.lifecycle===`closed`?`Closed`:F(e.reviewState)}},L=e=>`${e.charAt(0).toLocaleUpperCase(`en-US`)}${e.slice(1)}`,R=e=>e.split(`-`).map(e=>`${e.charAt(0).toLocaleUpperCase(`en-US`)}${e.slice(1)}`).join(` `),ue=e=>{switch(e){case`issue`:return`jira`;case`pull-request`:return`codecommit`;case`page`:return`confluence`;case`pipeline-execution`:case`deployment`:return`codepipeline`;case`time-entry`:return`clockify`}},de=e=>{switch(e._tag){case`issue`:return e.status;case`pull-request`:return I(e);case`page`:case`deployment`:return R(e.status);case`pipeline-execution`:return L(e.status);case`time-entry`:return R(e.approvalState)}},fe=e=>{switch(e._tag){case`issue`:return[{label:`Priority`,value:e.priority??`Not set`},{label:`Estimate`,value:e.estimatePoints===null?`Not set`:`${e.estimatePoints} points`}];case`pull-request`:return[{label:`Repository`,value:e.repository},{label:`Branch`,value:`${e.sourceBranch} → ${e.targetBranch}`},{label:`Revision`,value:e.headRevision}];case`page`:return[{label:`Space`,value:e.spaceKey},{label:`Revision`,value:e.revision}];case`pipeline-execution`:return[{label:`Pipeline`,value:e.pipelineName},{label:`Execution`,value:e.executionId},{label:`Revision`,value:e.triggerRevision}];case`deployment`:return[{label:`Environment`,value:e.environmentId},{label:`Revision`,value:e.revision}];case`time-entry`:return[{label:`Duration`,value:`${e.durationMinutes} minutes`},{label:`Billing`,value:e.billable?`Billable`:`Non-billable`}]}},z=e=>{let t=de(e.details);return{facts:fe(e.details),id:e.entityId,kind:e.entityType,label:e.displayKey,service:ue(e.entityType),status:t,title:e.title,tone:P(t)}},B=(e,t)=>{if(t===null)return null;let n=e.entityProjections.find(({projection:e})=>e.entityState===`present`&&e.entityId===t)?.projection;return n===void 0?null:z(n)},V=e=>e.lifecycle._tag!==`missing`&&e.lifecycle._tag!==`rejected`&&e.lifecycle._tag!==`superseded`,pe=e=>{switch(e.sourceNodeKind===`release`?e.targetNodeKind:e.sourceNodeKind){case`issue`:return`jira`;case`page`:return`confluence`;case`pipeline-execution`:case`deployment`:return`codepipeline`;case`time-entry`:return`clockify`;case`pull-request`:case`release`:case`environment`:return`codecommit`}return`codecommit`},H=e=>{let t=new Map(e.entityProjections.map(({projection:e})=>[e.entityId,e]));return new Map(e.nodes.flatMap(e=>{if(e.resolution._tag!==`resolved`||e.resolution.target._tag!==`entity`)return[];let n=t.get(e.resolution.target.entityId);return n===void 0?[]:[[e.nodeId,n]]}))},me=e=>{switch(e){case`missing`:case`rejected`:return`critical`;case`governed`:case`verified`:return`positive`;case`inferred`:case`proposed`:return`progress`;case`superseded`:return`neutral`}},he=e=>{switch(e._tag){case`confirmed`:return`Confirmed`;case`inferred`:return`Inferred ${String(Math.round(e.score*100))}%`;case`unknown`:return`Confidence unknown`}},ge=(e,t,n,r)=>{let i=r.get(n);if(i!==void 0){let e=z(i);return{href:i.entityState===`present`?k(t,i.entityId):null,kind:e.kind,label:e.label,service:e.service,title:i.entityState===`present`?e.title:`${e.title} · Deleted`}}let a=e.nodes.find(e=>e.nodeId===n);if(a?.resolution._tag===`missing`)return{href:null,kind:a.endpointKind,label:a.resolution.missingKey,service:null,title:`Missing ${R(a.endpointKind)}`};if(a?.resolution._tag===`resolved`&&a.resolution.target._tag===`release`){let t=a.resolution.target.releaseId===e.releaseId;return{href:null,kind:`release`,label:`Release ${a.resolution.target.releaseId.slice(-6)}`,service:null,title:t?`Current release context`:`Connected release`}}return a?.resolution._tag===`resolved`&&a.resolution.target._tag===`environment`?{href:null,kind:`environment`,label:`Environment ${a.resolution.target.environmentId.slice(-6)}`,service:null,title:`Delivery environment`}:{href:null,kind:`unknown`,label:n.slice(-6),service:null,title:`Unresolved graph node`}},_e=(e,t,n)=>{let r=B(e,n);if(r===null||n===null)return null;let i=new Set(e.nodes.flatMap(e=>e.resolution._tag===`resolved`&&e.resolution.target._tag===`entity`&&e.resolution.target.entityId===n?[e.nodeId]:[])),a=H(e);return{relationships:e.relationships.flatMap(n=>{let o=i.has(n.sourceNodeId)?`outgoing`:i.has(n.targetNodeId)?`incoming`:null;if(o===null)return[];let s=o===`outgoing`?n.targetNodeId:n.sourceNodeId;return[{confidence:he(n.confidence),detailsHref:le(t,e.releaseId,r.id,n.relationshipId),direction:o,evidenceCount:n.evidenceClaimIds.length,id:n.relationshipId,kind:n.kind,lifecycle:R(n.lifecycle._tag),other:ge(e,t,s,a),tone:me(n.lifecycle._tag)}]}).sort((e,t)=>e.kind.localeCompare(t.kind)||e.other.label.localeCompare(t.other.label)||e.id.localeCompare(t.id)),truncated:e.truncated}},ve=(e,t,n)=>{if(n===null||t===null||B(e,t)===null)return null;let r=new Set(e.nodes.flatMap(e=>e.resolution._tag===`resolved`&&e.resolution.target._tag===`entity`&&e.resolution.target.entityId===t?[e.nodeId]:[])),i=null;for(let t of e.relationships)t.relationshipId===n&&(r.has(t.sourceNodeId)||r.has(t.targetNodeId))&&(i===null||t.revision>i.revision)&&(i=t);return i},U=(e,t)=>{if(t===null)return[];let n=new Map(e.evidenceClaims.map(e=>[e.evidenceClaimId,e]));return t.evidenceClaimIds.flatMap(e=>{let t=n.get(e);return t===void 0?[]:[t]})},ye=(e,t)=>{let n=new Set;for(let r of U(e,t))n.add(r.evidenceId);return[...n].sort((e,t)=>e.localeCompare(t))},be=(e,t)=>{let n=new Map(e.nodes.map(e=>[e.nodeId,e]));return new Set(e.relationships.flatMap(r=>{if(r.kind!==`documented-by`||r.sourceNodeKind!==`release`||r.targetNodeKind!==`page`||!V(r))return[];let i=n.get(r.sourceNodeId),a=t.get(r.targetNodeId);return i?.resolution._tag===`resolved`&&i.resolution.target._tag===`release`&&i.resolution.target.releaseId===e.releaseId&&a?.details._tag===`page`?[a.entityId]:[]}))},xe=(e,t)=>{let n=e.sourceNodeKind===`issue`?t.get(e.sourceNodeId):e.targetNodeKind===`issue`?t.get(e.targetNodeId):void 0;return n?.details._tag===`issue`&&e.sourceNodeKind===`pull-request`?`${n.details.key} has no CodeCommit pull request`:`Missing ${e.sourceNodeKind} → ${e.targetNodeKind} relationship`},Se=(e,t)=>{let n=H(e),r=be(e,n),i=e=>k(t,e.entityId),a=e.entityProjections.map(({projection:e})=>e).filter(e=>e.entityType===`issue`&&e.details._tag===`issue`&&e.entityState===`present`),o=e.entityProjections.map(({projection:e})=>e).filter(e=>e.entityType===`pull-request`&&e.details._tag===`pull-request`&&e.entityState===`present`),s=e.entityProjections.map(({projection:e})=>e).filter(e=>e.entityType===`pipeline-execution`&&e.details._tag===`pipeline-execution`&&e.entityState===`present`),c=e.entityProjections.map(({projection:e})=>e).filter(e=>e.entityType===`page`&&e.details._tag===`page`&&e.entityState===`present`&&r.has(e.entityId)),l=c.flatMap(e=>e.details.contentState===`loaded`?ie(e.details.content?.markdown??``).tasks.flatMap(t=>t.checked?[]:[{id:`${e.entityId}:confluence-task:${String(t.lineNumber)}`,label:t.label,reason:`Confluence task on ${e.title} is not complete.`,service:`confluence`}]):[{id:`${e.entityId}:confluence-tasks-unavailable`,label:`${e.title} tasks are not synchronized`,reason:`Release readiness cannot be verified until the Confluence page body is synchronized.`,service:`confluence`}]),u=ce(e),d=u.gates.flatMap(e=>e.state===`waiting`?[]:[{id:`${e.entityId}:release-approval-gate`,label:e.state===`missing`?`${e.pipelineName} has no release approval gate`:`${e.pipelineName} is not waiting for Stage approval`,reason:e.state===`missing`?`Every pipeline delivering this release must contain an observed manual approval stage.`:`The affected pipeline must wait at its manual approval stage before release publication.`,service:`codepipeline`}]),f=u.unverifiablePipelines===0?[]:[{id:`release-pipelines-unverifiable`,label:`Affected pipeline approval state is unavailable`,reason:`Release readiness cannot be verified until every affected pipeline is synchronized.`,service:`codepipeline`}];return{jiraItems:a.map(e=>({id:e.entityId,key:e.details.key,title:e.title,state:e.details.status,tone:P(e.details.status),href:i(e)})),pullRequestGroups:o.map(t=>{let r=new Set(Array.from(n).flatMap(([e,n])=>n.entityId===t.entityId?[e]:[])),a=Array.from(new Set(e.relationships.flatMap(e=>{if(e.kind!==`implements`||!r.has(e.sourceNodeId)||!V(e))return[];let t=n.get(e.targetNodeId);return t?.details._tag===`issue`?[t.details.key]:[]}))),o=I(t.details);return{id:t.entityId,title:t.title,reference:t.displayKey,state:o,tone:P(o),href:i(t),linkedJiraKeys:a}}),gaps:[...e.relationships.flatMap(e=>e.lifecycle._tag===`missing`?[{id:e.relationshipId,label:xe(e,n),reason:e.lifecycle.reason,service:pe(e)}]:[]),...l,...d,...f],pipelines:s.map(e=>{let t=L(e.details.status);return{id:e.entityId,title:e.title,reference:e.displayKey,state:t,tone:P(t),href:i(e),stages:re(e.details.stages)}}),runbooks:c.map(e=>{let t=ie(e.details.content?.markdown??``);return{completedTasks:t.completed,href:i(e),id:e.entityId,reference:e.displayKey,state:e.details.status,title:e.title,totalTasks:t.total}}),truncated:e.truncated}},W={body:`_body_ahahc_1`,loading:`_loading_ahahc_2`,content:`_content_ahahc_3`,summary:`_summary_ahahc_4`,section:`_section_ahahc_5`,history:`_history_ahahc_6`,evidence:`_evidence_ahahc_7`,evidenceCard:`_evidenceCard_ahahc_8`,claims:`_claims_ahahc_9`,integrity:`_integrity_ahahc_13`,summaryHeading:`_summaryHeading_ahahc_44`,sectionHeading:`_sectionHeading_ahahc_45`,historyHeading:`_historyHeading_ahahc_46`,evidenceHeading:`_evidenceHeading_ahahc_47`,tags:`_tags_ahahc_48`,facts:`_facts_ahahc_65`},Ce=S(`UnauthorizedApiError`),we={load:(e,t,n)=>E(C(function*(){let n=yield*O(),r=yield*n.deliveryGraph.relationshipHistory({params:{relationshipId:e}});return{evidence:yield*ee(t,e=>n.deliveryGraph.evidence({params:{evidenceId:e}}),{concurrency:4}),history:r}}).pipe(b(D)),{signal:n})},Te=(e,t,n,r,i=we)=>{let[a,o]=(0,N.useState)(0),[s,c]=(0,N.useState)({_tag:`idle`}),l=t.join(`:`),u=(0,N.useRef)(t);(0,N.useEffect)(()=>{u.current=t},[t]),(0,N.useEffect)(()=>{if(e===null||n===null){c({_tag:`idle`});return}let t=new AbortController;return c({_tag:`loading`,evidenceKey:l,relationshipId:e,sessionKey:n}),i.load(e,u.current,t.signal).then(r=>{t.signal.aborted||c({_tag:`ready`,details:r,evidenceKey:l,relationshipId:e,sessionKey:n})},i=>{t.signal.aborted||(Ce(i)&&r(n),c({_tag:`failed`,evidenceKey:l,relationshipId:e,sessionKey:n}))}),()=>t.abort()},[l,r,e,a,n,i]);let d=e===null||n===null?{_tag:`idle`}:s._tag===`idle`||s.relationshipId!==e||s.sessionKey!==n||s.evidenceKey!==l?{_tag:`loading`,evidenceKey:l,relationshipId:e,sessionKey:n}:s;return{retry:(0,N.useCallback)(()=>o(e=>e+1),[]),state:d}},G=a(),K=e=>e.split(`-`).map(e=>`${e.charAt(0).toLocaleUpperCase(`en-US`)}${e.slice(1)}`).join(` `),q=e=>x(e,{day:`2-digit`,hour:`2-digit`,hour12:!1,locale:`en-GB`,minute:`2-digit`,month:`short`,year:`numeric`}),J=e=>{switch(e._tag){case`human`:return`Human · ${e.personId.slice(-6)}`;case`agent`:return`Agent · ${e.agentId.slice(-6)}`;case`system`:return`System · ${e.component}`}},Ee=e=>{switch(e._tag){case`plugin`:return`Plugin source · ${e.pluginConnectionId.slice(-6)}`;case`human`:return`Human decision · ${e.personId.slice(-6)}`;case`agent`:return`Agent proposal · ${e.agentId.slice(-6)}`;case`rule`:return`Rule · ${e.ruleId} v${String(e.ruleVersion)}`}},De=e=>{switch(e.confidence._tag){case`confirmed`:return`Confirmed by immutable evidence.`;case`inferred`:case`unknown`:return e.confidence.rationale}},Oe=e=>{switch(e.confidence._tag){case`confirmed`:return`Confirmed`;case`inferred`:return`Inferred ${String(Math.round(e.confidence.score*100))}%`;case`unknown`:return`Confidence unknown`}},Y=e=>{switch(e.lifecycle._tag){case`missing`:case`rejected`:return`critical`;case`governed`:case`verified`:return`positive`;case`inferred`:case`proposed`:return`progress`;case`superseded`:return`neutral`}},ke=e=>e.scope===null?`Workspace`:e.scope._tag===`release`?`Release · ${e.scope.releaseId.slice(-6)}`:`Environment · ${e.scope.environmentId.slice(-6)}`,Ae=e=>{switch(e.freshness._tag){case`current`:return`positive`;case`stale`:return`caution`;case`missing`:case`unavailable`:return`critical`}},je=e=>{switch(e.lifecycle._tag){case`missing`:case`rejected`:case`superseded`:return e.lifecycle.reason;case`governed`:case`inferred`:case`proposed`:case`verified`:return null}},X=e=>{switch(e._tag){case`plugin`:return`Plugin · ${e.pluginConnectionId.slice(-6)}`;case`human`:return`Human · ${e.personId.slice(-6)}`;case`agent`:return`Agent · ${e.agentId.slice(-6)}`;case`system`:return`System · ${e.component}`}},Me=e=>{switch(e.value._tag){case`flag`:return e.value.value?`Yes`:`No`;case`state`:case`revision`:return e.value.value;case`reference`:return`Node ${e.value.targetNodeId.slice(-6)}`}},Ne=({claims:e,inspection:t,relationship:n})=>{let r=new Set(n.evidenceClaimIds),i=e.filter(({evidenceClaimId:e,evidenceId:n})=>n===t.evidence.evidenceId&&r.has(e)),a=t.evidence;return(0,G.jsxs)(`article`,{className:W.evidenceCard,children:[(0,G.jsxs)(`div`,{className:W.evidenceHeading,children:[(0,G.jsxs)(g,{as:`h4`,variant:`label`,children:[`Evidence `,a.evidenceId.slice(-6)]}),(0,G.jsx)(o,{label:K(a.freshness._tag),size:`compact`,tone:Ae(a)})]}),(0,G.jsxs)(`dl`,{className:W.facts,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Observed`}),(0,G.jsx)(`dd`,{children:q(a.observedAt)})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Source`}),(0,G.jsx)(`dd`,{children:X(a.attribution)})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Verified by`}),(0,G.jsx)(`dd`,{children:X(a.verifier)})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Retention`}),(0,G.jsxs)(`dd`,{children:[K(a.retention.classification),a.retention.legalHold?` · Legal hold`:``]})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Valid until`}),(0,G.jsx)(`dd`,{children:a.validUntil===null?`No expiry recorded`:q(a.validUntil)})]})]}),i.length===0?(0,G.jsx)(g,{tone:`secondary`,variant:`meta`,children:`No referenced claim was returned for this observation.`}):(0,G.jsx)(`ul`,{className:W.claims,children:i.map(e=>(0,G.jsxs)(`li`,{children:[(0,G.jsx)(g,{as:`span`,variant:`label`,children:K(e.predicate)}),(0,G.jsx)(g,{as:`span`,tone:`secondary`,children:Me(e)})]},e.evidenceClaimId))})]})},Pe=e=>{let t=0;for(let n of e)t=Math.max(t,n.revision);return t>e.length?`${String(e.length)} of ${String(t)} revisions`:`${String(e.length)} revision${e.length===1?``:`s`}`},Fe=({claims:e,evidenceIds:t,onClose:n,onSessionExpired:r,relationship:i,sessionKey:a,transport:d})=>{let f=Te(i?.relationshipId??null,t,a,r,d),p=i===null?`Relationship details`:`${K(i.kind)} relationship`,m=i===null||e.length===i.evidenceClaimIds.length;return(0,G.jsx)(c.Root,{onOpenChange:e=>{e||n()},open:i!==null,children:(0,G.jsx)(c.Content,{closeLabel:`Close ${p}`,description:`Immutable delivery history and the evidence used to establish this connection.`,title:p,children:(0,G.jsx)(c.Body,{className:W.body,children:i===null||f.state._tag===`idle`||f.state._tag===`loading`?(0,G.jsxs)(`div`,{"aria-busy":`true`,"aria-label":`Loading relationship details`,className:W.loading,children:[(0,G.jsx)(u,{height:`7rem`}),(0,G.jsx)(u,{height:`12rem`})]}):f.state._tag===`failed`?(0,G.jsx)(s,{action:(0,G.jsx)(l,{onClick:f.retry,children:`Try again`}),description:`The selected relationship remains unchanged. Its history could not be loaded.`,title:`Relationship details unavailable`,tone:`caution`}):(0,G.jsxs)(`div`,{className:W.content,children:[(0,G.jsxs)(`section`,{"aria-labelledby":`relationship-summary-title`,className:W.summary,children:[(0,G.jsxs)(`div`,{className:W.summaryHeading,children:[(0,G.jsxs)(g,{as:`h3`,id:`relationship-summary-title`,variant:`section-title`,children:[i.sourceNodeKind,` → `,i.targetNodeKind]}),(0,G.jsxs)(`div`,{className:W.tags,children:[(0,G.jsx)(o,{label:K(i.lifecycle._tag),size:`compact`,tone:Y(i)}),(0,G.jsx)(o,{label:Oe(i),size:`compact`,tone:`neutral`})]})]}),(0,G.jsx)(g,{tone:`secondary`,children:De(i)}),(0,G.jsxs)(`dl`,{className:W.facts,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Revision`}),(0,G.jsx)(`dd`,{children:String(i.revision)})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Recorded by`}),(0,G.jsx)(`dd`,{children:J(i.recordedBy)})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Origin`}),(0,G.jsx)(`dd`,{children:Ee(i.provenance)})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Scope`}),(0,G.jsx)(`dd`,{children:ke(i)})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:`Recorded`}),(0,G.jsx)(`dd`,{children:q(i.recordedAt)})]})]})]}),(0,G.jsxs)(`section`,{"aria-labelledby":`relationship-history-title`,className:W.section,children:[(0,G.jsxs)(`div`,{className:W.sectionHeading,children:[(0,G.jsx)(g,{as:`h3`,id:`relationship-history-title`,variant:`label`,children:`History`}),(0,G.jsx)(o,{label:Pe(f.state.details.history.revisions),size:`compact`,tone:`neutral`})]}),f.state.details.history.revisions.length===0?(0,G.jsx)(g,{tone:`secondary`,children:`No immutable ledger revisions were returned.`}):(0,G.jsx)(`ol`,{className:W.history,children:f.state.details.history.revisions.map(e=>{let t=je(e);return(0,G.jsxs)(`li`,{children:[(0,G.jsxs)(`div`,{className:W.historyHeading,children:[(0,G.jsxs)(g,{as:`span`,variant:`label`,children:[`Revision `,String(e.revision)]}),(0,G.jsx)(o,{label:K(e.lifecycle._tag),size:`compact`,tone:Y(e)})]}),(0,G.jsxs)(g,{tone:`secondary`,variant:`meta`,children:[J(e.recordedBy),` ·`,` `,q(e.recordedAt)]}),t===null?null:(0,G.jsx)(g,{tone:`secondary`,children:t})]},`${e.relationshipId}:${String(e.revision)}`)})})]}),(0,G.jsxs)(`section`,{"aria-labelledby":`relationship-evidence-title`,className:W.section,children:[(0,G.jsxs)(`div`,{className:W.sectionHeading,children:[(0,G.jsx)(g,{as:`h3`,id:`relationship-evidence-title`,variant:`label`,children:`Evidence`}),(0,G.jsx)(o,{label:`${String(f.state.details.evidence.length)} observation${f.state.details.evidence.length===1?``:`s`}`,size:`compact`,tone:`neutral`})]}),m?null:(0,G.jsxs)(`div`,{className:W.integrity,children:[(0,G.jsx)(o,{label:`Evidence incomplete`,size:`compact`,tone:`critical`}),(0,G.jsx)(g,{tone:`secondary`,children:`One or more referenced claims are missing from the release slice. Refresh before relying on this relationship.`})]}),f.state.details.evidence.length===0?(0,G.jsx)(g,{tone:`secondary`,children:`No immutable evidence is attached to this relationship revision.`}):(0,G.jsx)(`div`,{className:W.evidence,children:f.state.details.evidence.map(t=>(0,G.jsx)(Ne,{claims:e,inspection:t,relationship:i},t.evidence.evidenceId))})]})]})})})})},Ie=v({_tag:y(`relationship-detail-origin/v1`),objectId:_,relationshipId:w}),Le=v({relationshipDetailOrigin:Ie}),Re=(e,t,n)=>({...ne(e)&&e,relationshipDetailOrigin:{_tag:`relationship-detail-origin/v1`,objectId:t,relationshipId:n}}),ze=(e,t,n)=>{let r=te(Le)(e);return T(r)&&r.value.relationshipDetailOrigin.objectId===t&&r.value.relationshipDetailOrigin.relationshipId===n},Be=(e,t,n,r)=>{if(ze(t.state,n,r)){e(-1);return}let i=new URLSearchParams(t.search);i.delete(`relationship`),e({hash:t.hash,pathname:t.pathname,search:i.size===0?``:`?${i.toString()}`},{replace:!0,state:t.state})},Z={root:`_root_1y5sp_1`,loading:`_loading_1y5sp_2`,context:`_context_1y5sp_3`,contextGroup:`_contextGroup_1y5sp_4`,selected:`_selected_1y5sp_5`,selectedFacts:`_selectedFacts_1y5sp_6`,trace:`_trace_1y5sp_7`,traceList:`_traceList_1y5sp_8`,runbooks:`_runbooks_1y5sp_9`,runbook:`_runbook_1y5sp_9`,contextHeading:`_contextHeading_1y5sp_34`,tags:`_tags_1y5sp_35`,selectedHeading:`_selectedHeading_1y5sp_61`,traceHeading:`_traceHeading_1y5sp_94`,traceRelation:`_traceRelation_1y5sp_95`,traceConnection:`_traceConnection_1y5sp_107`,traceDetails:`_traceDetails_1y5sp_140`},Ve=async(e,t)=>{let n=[null,...e],r=[],i=0,a=!1,o=async()=>{for(;!a&&i<n.length;){let e=i;i+=1;let o=n[e];if(o===void 0)return;try{r.push({index:e,value:await t(o)})}catch(e){throw a=!0,e}}},s=Math.min(4,n.length);return await Promise.all(Array.from({length:s},()=>o())),r.sort((e,t)=>e.index-t.index).map(({value:e})=>e)},Q=500,He=(e,t)=>{let n=new Map,r=new Map,i=new Map,a=new Map;for(let e of t){for(let t of e.nodes)n.set(t.nodeId,t);for(let t of e.entityProjections)r.set(t.projection.entityId,t);for(let t of e.evidenceClaims)i.set(t.evidenceClaimId,t);for(let t of e.evidenceItems)a.set(t.evidenceId,t)}let o=new Map,s=new Map,c=new Map,l=new Map,u=new Map,d=t.some(e=>e.truncated);for(let e of t.flatMap(({relationships:e})=>e)){let t=`${e.relationshipId}:${String(e.revision)}`;if(c.has(t))continue;let f=[n.get(e.sourceNodeId),n.get(e.targetNodeId)];if(f.some(e=>e===void 0)){d=!0;continue}let p=f.filter(e=>e!==void 0),m=p.filter(e=>e.resolution._tag===`resolved`&&e.resolution.target._tag===`entity`),h=m.flatMap(e=>{if(e.resolution._tag!==`resolved`||e.resolution.target._tag!==`entity`)return[];let t=r.get(e.resolution.target.entityId);return t===void 0?[]:[t]}),g=e.evidenceClaimIds.flatMap(e=>{let t=i.get(e);return t===void 0?[]:[t]}),_=new Set(g.map(({evidenceId:e})=>e)),v=[..._].flatMap(e=>{let t=a.get(e);return t===void 0?[]:[t]}),y=h.length!==m.length||g.length!==e.evidenceClaimIds.length||v.length!==_.size,b=p.filter(({nodeId:e})=>!o.has(e)).length,x=h.filter(({projection:e})=>!s.has(e.entityId)).length,S=g.filter(({evidenceClaimId:e})=>!l.has(e)).length,C=v.filter(({evidenceId:e})=>!u.has(e)).length,w=c.size===Q||o.size+b>Q||s.size+x>Q||l.size+S>Q||u.size+C>Q;if(y||w){d=!0;continue}c.set(t,e);for(let e of p)o.set(e.nodeId,e);for(let e of h)s.set(e.projection.entityId,e);for(let e of g)l.set(e.evidenceClaimId,e);for(let e of v)u.set(e.evidenceId,e)}return{releaseId:e,environmentId:null,truncated:d,nodes:[...o.values()],entityProjections:[...s.values()],relationships:[...c.values()],evidenceClaims:[...l.values()],evidenceItems:[...u.values()]}},Ue=S(`UnauthorizedApiError`),We=async(e,t,n,r)=>Ve(t,t=>r.load(e,t,n)),Ge={load:(e,t,n)=>E(C(function*(){return yield*(yield*O()).deliveryGraph.releaseSlice({params:{releaseId:e},query:t===null?{}:{environmentId:t}})}).pipe(b(D)),{signal:n})},Ke=(e,t,n,r,i=Ge)=>{let[a,o]=(0,N.useState)(0),[s,c]=(0,N.useState)({_tag:`idle`}),l=t.join(`:`);(0,N.useEffect)(()=>{if(n===null){c({_tag:`idle`});return}let a=new AbortController;return c({_tag:`loading`,environmentScopeKey:l,releaseId:e,sessionKey:n}),We(e,t,a.signal,i).then(t=>{a.signal.aborted||c({_tag:`ready`,environmentScopeKey:l,inspection:He(e,t),releaseId:e,sessionKey:n})},t=>{a.signal.aborted||(Ue(t)&&r(n),c({_tag:`failed`,environmentScopeKey:l,releaseId:e,sessionKey:n}))}),()=>a.abort()},[l,r,e,a,n,i]);let u=n===null?{_tag:`idle`}:s._tag===`idle`||s.releaseId!==e||s.sessionKey!==n||s.environmentScopeKey!==l?{_tag:`loading`,environmentScopeKey:l,releaseId:e,sessionKey:n}:s;return{retry:(0,N.useCallback)(()=>o(e=>e+1),[]),state:u}},qe=()=>(0,G.jsxs)(`div`,{"aria-busy":`true`,"aria-label":`Loading release work`,className:Z.loading,children:[(0,G.jsx)(u,{height:`3rem`}),(0,G.jsx)(u,{height:`15rem`})]}),Je=({linkLocation:e,selectedObject:t,trace:n})=>(0,G.jsxs)(`section`,{"aria-label":`Selected ${t.kind} ${t.label}`,className:Z.selected,children:[(0,G.jsxs)(`div`,{className:Z.selectedHeading,children:[(0,G.jsx)(h,{service:t.service,size:`compact`}),(0,G.jsxs)(g,{as:`p`,variant:`label`,children:[`Selected object · `,t.label]}),(0,G.jsx)(o,{label:t.status,size:`compact`,tone:t.tone})]}),(0,G.jsx)(g,{as:`h3`,variant:`section-title`,children:t.title}),(0,G.jsx)(g,{tone:`secondary`,variant:`meta`,children:t.kind}),(0,G.jsx)(`dl`,{className:Z.selectedFacts,children:t.facts.map(e=>(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`dt`,{children:e.label}),(0,G.jsx)(`dd`,{children:e.value})]},e.label))}),n===void 0?null:(0,G.jsxs)(`div`,{className:Z.trace,children:[(0,G.jsxs)(`div`,{className:Z.traceHeading,children:[(0,G.jsx)(g,{as:`h4`,variant:`label`,children:`Delivery trace`}),(0,G.jsx)(o,{label:`${n.relationships.length} relationship${n.relationships.length===1?``:`s`}${n.truncated?`+`:``}`,size:`compact`,tone:n.truncated?`caution`:`neutral`})]}),n.relationships.length===0?(0,G.jsx)(g,{tone:`secondary`,children:`No relationship touches this object in the current release slice.`}):(0,G.jsx)(`ul`,{className:Z.traceList,children:n.relationships.map(n=>(0,G.jsxs)(`li`,{children:[n.other.service===null?null:(0,G.jsx)(h,{service:n.other.service,size:`compact`}),(0,G.jsxs)(`div`,{className:Z.traceConnection,children:[(0,G.jsxs)(g,{as:`p`,variant:`label`,children:[n.direction===`incoming`?`From`:`To`,` `,n.other.label]}),n.other.href===null?(0,G.jsx)(g,{tone:`secondary`,children:n.other.title}):(0,G.jsx)(i,{onClick:t=>{let r=n.other.href;e!==void 0&&r!==null&&M(r,e)!==void 0&&A(t,t.currentTarget.target)&&j(e,r)},state:e===void 0?void 0:M(n.other.href,e),to:n.other.href,children:n.other.title})]}),(0,G.jsxs)(`div`,{className:Z.traceRelation,children:[(0,G.jsx)(g,{as:`span`,tone:`secondary`,variant:`meta`,children:n.kind}),(0,G.jsx)(o,{label:n.lifecycle,size:`compact`,tone:n.tone})]}),(0,G.jsxs)(g,{as:`span`,tone:`secondary`,variant:`meta`,children:[n.confidence,` · `,n.evidenceCount,` evidence claim`,n.evidenceCount===1?``:`s`]}),(0,G.jsx)(i,{"aria-label":`Details for ${n.kind} ${n.direction} relationship with ${n.other.label}`,className:Z.traceDetails,state:Re(e?.state,t.id,n.id),to:n.detailsHref,children:`Details`})]},n.id))})]})]}),$=d,Ye=({release:e,workspaceId:t})=>{let a=p(),c=r(),u=n(),d=$(a.state),_=Ke(e.id,e.targetEnvironmentIds,d,a.invalidateSession);if(d===null||_.state._tag===`idle`||_.state._tag===`loading`)return(0,G.jsx)(qe,{});if(_.state._tag===`failed`)return(0,G.jsx)(s,{action:(0,G.jsx)(l,{onClick:_.retry,children:`Try again`}),description:`Control Center could not read the delivery graph for this release. Saved release facts remain unchanged.`,title:`Release work unavailable`,tone:`caution`});let v=Se(_.state.inspection,t),y=new URLSearchParams(c.search),b=y.get(`object`),x=y.get(`relationship`),S=B(_.state.inspection,b),C=_e(_.state.inspection,t,b),w=ve(_.state.inspection,b,x),ee=ye(_.state.inspection,w),T=U(_.state.inspection,w);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:Z.root,children:[(0,G.jsxs)(`div`,{className:Z.context,children:[(0,G.jsxs)(`div`,{className:Z.contextGroup,children:[(0,G.jsx)(g,{as:`h3`,variant:`label`,children:`Environment`}),e.targetEnvironmentIds.length===0?(0,G.jsx)(g,{tone:`secondary`,children:`No target environment recorded.`}):(0,G.jsx)(`div`,{className:Z.tags,children:e.targetEnvironmentIds.map(e=>(0,G.jsx)(o,{label:`Unknown target · ${e.slice(-4)}`,size:`compact`,title:`Environment ${e}; provider metadata unavailable`,tone:`neutral`},e))})]}),(0,G.jsxs)(`div`,{className:Z.contextGroup,children:[(0,G.jsxs)(`div`,{className:Z.contextHeading,children:[(0,G.jsx)(h,{service:`confluence`,size:`compact`}),(0,G.jsx)(g,{as:`h3`,variant:`label`,children:`Runbook`})]}),v.runbooks.length===0?(0,G.jsx)(g,{tone:`secondary`,children:`No runbook linked.`}):(0,G.jsx)(`div`,{className:Z.runbooks,children:v.runbooks.map(e=>(0,G.jsxs)(i,{className:Z.runbook,onClick:t=>{M(e.href,c)!==void 0&&A(t,t.currentTarget.target)&&j(c,e.href)},state:M(e.href,c),to:e.href,children:[(0,G.jsx)(`strong`,{children:e.title}),(0,G.jsxs)(`span`,{children:[e.reference,e.totalTasks===0?``:` · ${String(e.completedTasks)}/${String(e.totalTasks)} tasks`]})]},e.id))})]}),v.truncated?(0,G.jsx)(o,{label:`Bounded view · more records exist`,size:`compact`,tone:`caution`}):null,S===null||C===null?null:(0,G.jsx)(Je,{linkLocation:c,selectedObject:S,trace:C})]}),(0,G.jsx)(f,{component:ae,children:(0,G.jsx)(m,{gaps:v.gaps,heading:`${e.serviceName} release work`,jiraItems:v.jiraItems,pipelines:v.pipelines,pullRequestGroups:v.pullRequestGroups})})]}),(0,G.jsx)(Fe,{claims:T,evidenceIds:ee,onClose:()=>{S!==null&&w!==null&&Be(u,c,S.id,w.relationshipId)},onSessionExpired:a.invalidateSession,relationship:w,sessionKey:d})]})};export{$ as n,Ve as r,Ye as t};
2
+ //# sourceMappingURL=ReleaseWorkset-MV3I0HCi.js.map