@knpkv/control-center 0.4.0 → 0.5.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 (220) hide show
  1. package/README.md +18 -8
  2. package/dist/client/.vite/manifest.json +214 -182
  3. package/dist/client/assets/{ActiveWorkPage-Dd1mxPrq.js → ActiveWorkPage-g2-Jyavo.js} +2 -2
  4. package/dist/client/assets/{ActiveWorkPage-Dd1mxPrq.js.map → ActiveWorkPage-g2-Jyavo.js.map} +1 -1
  5. package/dist/client/assets/AgentPage-B6GQdZAs.css +1 -0
  6. package/dist/client/assets/AgentPage-DmVsEe13.js +6 -0
  7. package/dist/client/assets/AgentPage-DmVsEe13.js.map +1 -0
  8. package/dist/client/assets/AtlassianOAuthCallbackPage-C8u9ItMj.js +2 -0
  9. package/dist/client/assets/{AtlassianOAuthCallbackPage-BPoF6oKf.js.map → AtlassianOAuthCallbackPage-C8u9ItMj.js.map} +1 -1
  10. package/dist/client/assets/{AuthorizedSharePage-jjqu6W_f.js → AuthorizedSharePage-CVBJ1NTm.js} +2 -2
  11. package/dist/client/assets/{AuthorizedSharePage-jjqu6W_f.js.map → AuthorizedSharePage-CVBJ1NTm.js.map} +1 -1
  12. package/dist/client/assets/BrowserCrypto-3BoTVFdl.js +2 -0
  13. package/dist/client/assets/{BrowserCrypto-BMbjhcvP.js.map → BrowserCrypto-3BoTVFdl.js.map} +1 -1
  14. package/dist/client/assets/BrowserSessionHydrator-CpZnNm4X.js +2 -0
  15. package/dist/client/assets/{BrowserSessionHydrator-BC1ymLkL.js.map → BrowserSessionHydrator-CpZnNm4X.js.map} +1 -1
  16. package/dist/client/assets/{CommandSearch-WwAVDrD9.js → CommandSearch-DUeRRbV2.js} +2 -2
  17. package/dist/client/assets/{CommandSearch-WwAVDrD9.js.map → CommandSearch-DUeRRbV2.js.map} +1 -1
  18. package/dist/client/assets/{ItemsPage-CKK_KkJ2.js → ItemsPage-BF2ZkSzh.js} +2 -2
  19. package/dist/client/assets/{ItemsPage-CKK_KkJ2.js.map → ItemsPage-BF2ZkSzh.js.map} +1 -1
  20. package/dist/client/assets/{PairPage-DA6cmyqF.js → PairPage-CkaZltHd.js} +2 -2
  21. package/dist/client/assets/{PairPage-DA6cmyqF.js.map → PairPage-CkaZltHd.js.map} +1 -1
  22. package/dist/client/assets/PortfolioOverview-CEUHJmGC.js +2 -0
  23. package/dist/client/assets/{PortfolioOverview-CEI4gpXi.js.map → PortfolioOverview-CEUHJmGC.js.map} +1 -1
  24. package/dist/client/assets/{PullRequestReviewPanel-D7AKnwL-.js → PullRequestReviewPanel-D1IpvHe2.js} +3 -3
  25. package/dist/client/assets/{PullRequestReviewPanel-D7AKnwL-.js.map → PullRequestReviewPanel-D1IpvHe2.js.map} +1 -1
  26. package/dist/client/assets/{ReleaseRoute-CbPW3qUT.js → ReleaseRoute-BuQybrsg.js} +2 -2
  27. package/dist/client/assets/{ReleaseRoute-CbPW3qUT.js.map → ReleaseRoute-BuQybrsg.js.map} +1 -1
  28. package/dist/client/assets/ReleaseWorkset-BclY0Nvj.js +2 -0
  29. package/dist/client/assets/ReleaseWorkset-BclY0Nvj.js.map +1 -0
  30. package/dist/client/assets/ServicesPage-hw5Ee69-.js +2 -0
  31. package/dist/client/assets/{ServicesPage-_B89DAvG.js.map → ServicesPage-hw5Ee69-.js.map} +1 -1
  32. package/dist/client/assets/{TimelinePage-DvpgD8AY.js → TimelinePage-Cj3V98uI.js} +2 -2
  33. package/dist/client/assets/{TimelinePage-DvpgD8AY.js.map → TimelinePage-Cj3V98uI.js.map} +1 -1
  34. package/dist/client/assets/{WorkspaceEntityLink-DPj6MKI2.js → WorkspaceEntityLink-C_rc8lxi.js} +2 -2
  35. package/dist/client/assets/{WorkspaceEntityLink-DPj6MKI2.js.map → WorkspaceEntityLink-C_rc8lxi.js.map} +1 -1
  36. package/dist/client/assets/WorkspaceEntityRoute-DLLT6fY0.css +1 -0
  37. package/dist/client/assets/WorkspaceEntityRoute-kbnrQ_lY.js +14 -0
  38. package/dist/client/assets/WorkspaceEntityRoute-kbnrQ_lY.js.map +1 -0
  39. package/dist/client/assets/WorkspaceHomeLink-DeYYLEsH.js +2 -0
  40. package/dist/client/assets/{WorkspaceHomeLink-CkJfzO25.js.map → WorkspaceHomeLink-DeYYLEsH.js.map} +1 -1
  41. package/dist/client/assets/WorkspacePullRequestDetails-CizqydjN.js +3 -0
  42. package/dist/client/assets/{WorkspacePullRequestDetails-HwDgp12e.js.map → WorkspacePullRequestDetails-CizqydjN.js.map} +1 -1
  43. package/dist/client/assets/{WorkspaceReleaseLayout-CGHi8eoo.js → WorkspaceReleaseLayout-CXAQUhkh.js} +2 -2
  44. package/dist/client/assets/{WorkspaceReleaseLayout-CGHi8eoo.js.map → WorkspaceReleaseLayout-CXAQUhkh.js.map} +1 -1
  45. package/dist/client/assets/{WorkspaceRichText-D1M637Ff.js → WorkspaceRichText-CCOciILO.js} +2 -2
  46. package/dist/client/assets/WorkspaceRichText-CCOciILO.js.map +1 -0
  47. package/dist/client/assets/WorkspaceSettingsPage-GoBfQzBx.css +1 -0
  48. package/dist/client/assets/WorkspaceSettingsPage-JG-pN_CA.js +2 -0
  49. package/dist/client/assets/WorkspaceSettingsPage-JG-pN_CA.js.map +1 -0
  50. package/dist/client/assets/agent-api-Dl9TuGOJ.js +19 -0
  51. package/dist/client/assets/agent-api-Dl9TuGOJ.js.map +1 -0
  52. package/dist/client/assets/atlassianOAuthSetupIntentStorage-DE4ySCTb.js +2 -0
  53. package/dist/client/assets/atlassianOAuthSetupIntentStorage-DE4ySCTb.js.map +1 -0
  54. package/dist/client/assets/authenticatedMutationClient-DdowMjyo.js +2 -0
  55. package/dist/client/assets/{authenticatedMutationClient-DYaieXUe.js.map → authenticatedMutationClient-DdowMjyo.js.map} +1 -1
  56. package/dist/client/assets/{authorizedShareTransport-cxBoQzQ2.js → authorizedShareTransport-CnclcYai.js} +2 -2
  57. package/dist/client/assets/{authorizedShareTransport-cxBoQzQ2.js.map → authorizedShareTransport-CnclcYai.js.map} +1 -1
  58. package/dist/client/assets/client-Dq_XQE_l.js +5 -0
  59. package/dist/client/assets/client-Dq_XQE_l.js.map +1 -0
  60. package/dist/client/assets/confluenceTasks-DtKq8_eU.js +5 -0
  61. package/dist/client/assets/confluenceTasks-DtKq8_eU.js.map +1 -0
  62. package/dist/client/assets/connectionTestTransport-CPK98z7H.js +2 -0
  63. package/dist/client/assets/connectionTestTransport-CPK98z7H.js.map +1 -0
  64. package/dist/client/assets/{index-C7_FDTU7.js → index-zVjlBm9l.js} +3 -3
  65. package/dist/client/assets/{index-C7_FDTU7.js.map → index-zVjlBm9l.js.map} +1 -1
  66. package/dist/client/assets/{patterns-5N-j-AD2-B9qgekXA.js → patterns-5N-j-AD2-DLfaGePK.js} +2 -2
  67. package/dist/client/assets/{patterns-5N-j-AD2-B9qgekXA.js.map → patterns-5N-j-AD2-DLfaGePK.js.map} +1 -1
  68. package/dist/client/assets/{presentPortfolio-C_JsoSWg.js → presentPortfolio-DLEq-vEz.js} +2 -2
  69. package/dist/client/assets/{presentPortfolio-C_JsoSWg.js.map → presentPortfolio-DLEq-vEz.js.map} +1 -1
  70. package/dist/client/assets/{presentWorkspaceItems-DboAfwGc.js → presentWorkspaceItems-BOY3FbhO.js} +2 -2
  71. package/dist/client/assets/{presentWorkspaceItems-DboAfwGc.js.map → presentWorkspaceItems-BOY3FbhO.js.map} +1 -1
  72. package/dist/client/assets/{pullRequestReviewFailures-DHmYwffV.js → pullRequestReviewFailures-CyjTVnSX.js} +2 -2
  73. package/dist/client/assets/{pullRequestReviewFailures-DHmYwffV.js.map → pullRequestReviewFailures-CyjTVnSX.js.map} +1 -1
  74. package/dist/client/assets/{pullRequestReviewThreadReplay-Vy1k53qE.js → pullRequestReviewThreadReplay-CXHspFTr.js} +2 -2
  75. package/dist/client/assets/{pullRequestReviewThreadReplay-Vy1k53qE.js.map → pullRequestReviewThreadReplay-CXHspFTr.js.map} +1 -1
  76. package/dist/client/assets/releaseAgentTransport-DaO4svPu.js +2 -0
  77. package/dist/client/assets/releaseAgentTransport-DaO4svPu.js.map +1 -0
  78. package/dist/client/assets/releaseRoutes-B4ciNOJj.js +2 -0
  79. package/dist/client/assets/{releaseRoutes-t9uCfs5T.js.map → releaseRoutes-B4ciNOJj.js.map} +1 -1
  80. package/dist/client/assets/{serviceOnboarding-DLINCon7.js → serviceOnboarding-D0FmodRi.js} +2 -2
  81. package/dist/client/assets/{serviceOnboarding-DLINCon7.js.map → serviceOnboarding-D0FmodRi.js.map} +1 -1
  82. package/dist/client/assets/{useWorkspaceDefaultLanding-CC5ImHkL.js → useWorkspaceDefaultLanding-BaQdg0sY.js} +3 -3
  83. package/dist/client/assets/{useWorkspaceDefaultLanding-CC5ImHkL.js.map → useWorkspaceDefaultLanding-BaQdg0sY.js.map} +1 -1
  84. package/dist/client/assets/{useWorkspaceItems-B1X-JNwq.js → useWorkspaceItems-B-7JHtm0.js} +2 -2
  85. package/dist/client/assets/{useWorkspaceItems-B1X-JNwq.js.map → useWorkspaceItems-B-7JHtm0.js.map} +1 -1
  86. package/dist/client/assets/workspaceEntityRoutes-DqqDa0AB.js +2 -0
  87. package/dist/client/assets/workspaceEntityRoutes-DqqDa0AB.js.map +1 -0
  88. package/dist/client/assets/{workspaceScrollCapture-BsjcWVsk.js → workspaceScrollCapture-BYNfR2wo.js} +2 -2
  89. package/dist/client/assets/{workspaceScrollCapture-BsjcWVsk.js.map → workspaceScrollCapture-BYNfR2wo.js.map} +1 -1
  90. package/dist/client/assets/{workspaceSettingsTransport-Dw2hueXv.js → workspaceSettingsTransport-Br4lBmvS.js} +2 -2
  91. package/dist/client/assets/{workspaceSettingsTransport-Dw2hueXv.js.map → workspaceSettingsTransport-Br4lBmvS.js.map} +1 -1
  92. package/dist/client/build-graph.json +98 -0
  93. package/dist/client/index.html +1 -1
  94. package/dist/server/api/agent.d.ts +12 -0
  95. package/dist/server/api/agent.d.ts.map +1 -1
  96. package/dist/server/api/deliveryGraph.d.ts +20 -0
  97. package/dist/server/api/deliveryGraph.d.ts.map +1 -1
  98. package/dist/server/api/index.d.ts +1 -1
  99. package/dist/server/api/index.d.ts.map +1 -1
  100. package/dist/server/api/index.js +3 -3
  101. package/dist/server/api/session.d.ts +23 -1
  102. package/dist/server/api/session.d.ts.map +1 -1
  103. package/dist/server/api/shares.d.ts +2 -0
  104. package/dist/server/api/shares.d.ts.map +1 -1
  105. package/dist/server/assets/{BindConfig-Bj282xDC.js → BindConfig-DAASchDn.js} +315 -36
  106. package/dist/server/assets/BindConfig-DAASchDn.js.map +1 -0
  107. package/dist/server/assets/{agent-ZvwskOQu.js → agent-xQhAQXly.js} +26 -6
  108. package/dist/server/assets/agent-xQhAQXly.js.map +1 -0
  109. package/dist/server/assets/{controlCenterApi-5j3gOXgE.js → controlCenterApi-DNXK7MT1.js} +4 -3
  110. package/dist/server/assets/controlCenterApi-DNXK7MT1.js.map +1 -0
  111. package/dist/server/assets/{manualPluginSynchronization-CzIhZ_Dw.js → manualPluginSynchronization-DFIeUHP9.js} +4 -3
  112. package/dist/server/assets/manualPluginSynchronization-DFIeUHP9.js.map +1 -0
  113. package/dist/server/assets/{readiness-BtntBhDj.js → readiness-31Mqc-9H.js} +2 -2
  114. package/dist/server/assets/{readiness-BtntBhDj.js.map → readiness-31Mqc-9H.js.map} +1 -1
  115. package/dist/server/assets/{relationshipInferenceMaterialization-CR6xyMNL.js → relationshipInferenceMaterialization-Dyix96px.js} +41 -14
  116. package/dist/server/assets/relationshipInferenceMaterialization-Dyix96px.js.map +1 -0
  117. package/dist/server/assets/{workspaceSettings-C2Zsk6RI.js → workspaceSettings-sv8h_h2P.js} +4 -1
  118. package/dist/server/assets/workspaceSettings-sv8h_h2P.js.map +1 -0
  119. package/dist/server/build-graph.json +28 -1
  120. package/dist/server/domain/confluenceTasks.d.ts +27 -0
  121. package/dist/server/domain/confluenceTasks.d.ts.map +1 -0
  122. package/dist/server/domain/deliveryGraph.d.ts +2 -0
  123. package/dist/server/domain/deliveryGraph.d.ts.map +1 -1
  124. package/dist/server/domain/governedAction/bindings.d.ts +2 -0
  125. package/dist/server/domain/governedAction/bindings.d.ts.map +1 -1
  126. package/dist/server/domain/governedAction/model.d.ts +6 -0
  127. package/dist/server/domain/governedAction/model.d.ts.map +1 -1
  128. package/dist/server/domain/index.js +2 -2
  129. package/dist/server/domain/normalizedPage.d.ts +1 -0
  130. package/dist/server/domain/normalizedPage.d.ts.map +1 -1
  131. package/dist/server/domain/releasePipelineApproval.d.ts +31 -0
  132. package/dist/server/domain/releasePipelineApproval.d.ts.map +1 -0
  133. package/dist/server/index.js +5 -5
  134. package/dist/server/server/api/Handlers.d.ts +1 -1
  135. package/dist/server/server/api/Handlers.d.ts.map +1 -1
  136. package/dist/server/server/application/deliveryGraphInspection.d.ts.map +1 -1
  137. package/dist/server/server/application/normalizedPluginPageMaterialization.d.ts.map +1 -1
  138. package/dist/server/server/application/pipelineExecutionProjection.d.ts +1 -0
  139. package/dist/server/server/application/pipelineExecutionProjection.d.ts.map +1 -1
  140. package/dist/server/server/application/portfolioSnapshots.d.ts +4 -0
  141. package/dist/server/server/application/portfolioSnapshots.d.ts.map +1 -1
  142. package/dist/server/server/application/releasePublicationSubmissions.d.ts +32 -1
  143. package/dist/server/server/application/releasePublicationSubmissions.d.ts.map +1 -1
  144. package/dist/server/server/application/releaseRunbookHydration.d.ts +2310 -0
  145. package/dist/server/server/application/releaseRunbookHydration.d.ts.map +1 -0
  146. package/dist/server/server/cli.js +3 -3
  147. package/dist/server/server/governance/governedActionDigests.d.ts +3 -0
  148. package/dist/server/server/governance/governedActionDigests.d.ts.map +1 -1
  149. package/dist/server/server/governance/internal/execution-store/recovery-claim.d.ts +1 -0
  150. package/dist/server/server/governance/internal/execution-store/recovery-claim.d.ts.map +1 -1
  151. package/dist/server/server/index.js +2 -2
  152. package/dist/server/server/persistence/Persistence.d.ts +10 -0
  153. package/dist/server/server/persistence/Persistence.d.ts.map +1 -1
  154. package/dist/server/server/persistence/object-store/BlobPublisher.d.ts.map +1 -1
  155. package/dist/server/server/persistence/object-store/PinnedDirectory.d.ts +2 -2
  156. package/dist/server/server/persistence/object-store/PinnedDirectory.d.ts.map +1 -1
  157. package/dist/server/server/persistence/repositories/delivery-graph/contract.d.ts +10 -0
  158. package/dist/server/server/persistence/repositories/delivery-graph/contract.d.ts.map +1 -1
  159. package/dist/server/server/persistence/repositories/delivery-graph/decode.d.ts +2 -0
  160. package/dist/server/server/persistence/repositories/delivery-graph/decode.d.ts.map +1 -1
  161. package/dist/server/server/persistence/repositories/delivery-graph/read.d.ts +6 -0
  162. package/dist/server/server/persistence/repositories/delivery-graph/read.d.ts.map +1 -1
  163. package/dist/server/server/persistence/repositories/delivery-graph/rows.d.ts +1 -0
  164. package/dist/server/server/persistence/repositories/delivery-graph/rows.d.ts.map +1 -1
  165. package/dist/server/server/persistence/repositories/delivery-graph/write.d.ts +2 -0
  166. package/dist/server/server/persistence/repositories/delivery-graph/write.d.ts.map +1 -1
  167. package/dist/server/server/persistence/repositories/deliveryGraphRepository.d.ts +6 -0
  168. package/dist/server/server/persistence/repositories/deliveryGraphRepository.d.ts.map +1 -1
  169. package/dist/server/server/persistence/repositories/governed-action/codec.d.ts +4 -0
  170. package/dist/server/server/persistence/repositories/governed-action/codec.d.ts.map +1 -1
  171. package/dist/server/server/persistence/repositories/governed-action/contract.d.ts +2 -0
  172. package/dist/server/server/persistence/repositories/governed-action/contract.d.ts.map +1 -1
  173. package/dist/server/server/persistence/repositories/governed-action/read.d.ts +4 -0
  174. package/dist/server/server/persistence/repositories/governed-action/read.d.ts.map +1 -1
  175. package/dist/server/server/persistence/repositories/governed-action/transaction.d.ts +4 -0
  176. package/dist/server/server/persistence/repositories/governed-action/transaction.d.ts.map +1 -1
  177. package/dist/server/server/persistence/repositories/governed-action/write-preparation.d.ts +1 -0
  178. package/dist/server/server/persistence/repositories/governed-action/write-preparation.d.ts.map +1 -1
  179. package/dist/server/server/persistence/repositories/governed-action/write-replay.d.ts +2 -0
  180. package/dist/server/server/persistence/repositories/governed-action/write-replay.d.ts.map +1 -1
  181. package/dist/server/server/persistence/repositories/governed-action/write.d.ts +2 -0
  182. package/dist/server/server/persistence/repositories/governed-action/write.d.ts.map +1 -1
  183. package/dist/server/server/persistence/repositories/governedActionRepository.d.ts +4 -0
  184. package/dist/server/server/persistence/repositories/governedActionRepository.d.ts.map +1 -1
  185. package/package.json +3 -3
  186. package/dist/client/assets/AgentPage-C3LThgPZ.js +0 -3
  187. package/dist/client/assets/AgentPage-C3LThgPZ.js.map +0 -1
  188. package/dist/client/assets/AgentPage-DVSgQgJa.css +0 -1
  189. package/dist/client/assets/AtlassianOAuthCallbackPage-BPoF6oKf.js +0 -2
  190. package/dist/client/assets/BrowserCrypto-BMbjhcvP.js +0 -2
  191. package/dist/client/assets/BrowserSessionHydrator-BC1ymLkL.js +0 -2
  192. package/dist/client/assets/PortfolioOverview-CEI4gpXi.js +0 -2
  193. package/dist/client/assets/ReleaseWorkset-BluAe7Sq.js +0 -2
  194. package/dist/client/assets/ReleaseWorkset-BluAe7Sq.js.map +0 -1
  195. package/dist/client/assets/ServicesPage-_B89DAvG.js +0 -2
  196. package/dist/client/assets/WorkspaceEntityRoute-9iMOV64J.css +0 -1
  197. package/dist/client/assets/WorkspaceEntityRoute-B01fxxB3.js +0 -3
  198. package/dist/client/assets/WorkspaceEntityRoute-B01fxxB3.js.map +0 -1
  199. package/dist/client/assets/WorkspaceHomeLink-CkJfzO25.js +0 -2
  200. package/dist/client/assets/WorkspacePullRequestDetails-HwDgp12e.js +0 -3
  201. package/dist/client/assets/WorkspaceRichText-D1M637Ff.js.map +0 -1
  202. package/dist/client/assets/WorkspaceSettingsPage-DyoGiGJG.js +0 -2
  203. package/dist/client/assets/WorkspaceSettingsPage-DyoGiGJG.js.map +0 -1
  204. package/dist/client/assets/WorkspaceSettingsPage-P6yfac0b.css +0 -1
  205. package/dist/client/assets/agent-api-CeONl_8w.js +0 -19
  206. package/dist/client/assets/agent-api-CeONl_8w.js.map +0 -1
  207. package/dist/client/assets/authenticatedMutationClient-DYaieXUe.js +0 -2
  208. package/dist/client/assets/client-DKS82kT_.js +0 -5
  209. package/dist/client/assets/client-DKS82kT_.js.map +0 -1
  210. package/dist/client/assets/connectionTestTransport-I_Ga9UNs.js +0 -2
  211. package/dist/client/assets/connectionTestTransport-I_Ga9UNs.js.map +0 -1
  212. package/dist/client/assets/releaseRoutes-t9uCfs5T.js +0 -2
  213. package/dist/client/assets/workspaceEntityRoutes-2TejMrzb.js +0 -2
  214. package/dist/client/assets/workspaceEntityRoutes-2TejMrzb.js.map +0 -1
  215. package/dist/server/assets/BindConfig-Bj282xDC.js.map +0 -1
  216. package/dist/server/assets/agent-ZvwskOQu.js.map +0 -1
  217. package/dist/server/assets/controlCenterApi-5j3gOXgE.js.map +0 -1
  218. package/dist/server/assets/manualPluginSynchronization-CzIhZ_Dw.js.map +0 -1
  219. package/dist/server/assets/relationshipInferenceMaterialization-CR6xyMNL.js.map +0 -1
  220. package/dist/server/assets/workspaceSettings-C2Zsk6RI.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{An as e,Jn as t,Mn as n,Nn as r,Qn as i,Zn as a,c as o,cr as s,ea as c,mr as l,na as u,nn as d,or as f,s as p,ur as m}from"./agent-api-Dl9TuGOJ.js";var h=`cc_atlassian_oauth_setup_intent_state`,g=i(r({preferredSiteId:e(n.check(m(),s(),f(512))),recoveryConnectionId:l(d),providers:o})),_=e=>{let n=t(p)(e);return u(n)?n.success:null},v=e=>`cc_atlassian_oauth_setup_intent:${e}`,y=e=>{try{let t=new URL(e).searchParams.getAll(`state`);return t.length===1?_(t[0]??null):null}catch{return null}},b=(e,t)=>{let n=y(e),r=a(g)(t);if(n===null||c(r))return!1;try{let e=_(sessionStorage.getItem(h));return e!==null&&e!==n&&sessionStorage.removeItem(v(e)),sessionStorage.setItem(v(n),r.success),sessionStorage.setItem(h,n),!0}catch{try{sessionStorage.removeItem(v(n))}catch{}return!1}},x=e=>{let n=_(e);if(n===null)return null;try{let e=v(n),r=sessionStorage.getItem(e);if(r===null)return null;let i=t(g)(r);return u(i)?i.success:(sessionStorage.removeItem(e),sessionStorage.getItem(h)===n&&sessionStorage.removeItem(h),null)}catch{return null}},S=e=>{let t=_(e);if(t!==null)try{sessionStorage.removeItem(v(t)),sessionStorage.getItem(h)===t&&sessionStorage.removeItem(h)}catch{}};export{x as n,b as r,S as t};
2
+ //# sourceMappingURL=atlassianOAuthSetupIntentStorage-DE4ySCTb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlassianOAuthSetupIntentStorage-DE4ySCTb.js","names":[],"sources":["../../../src/client/services/atlassianOAuthSetupIntentStorage.ts"],"sourcesContent":["import * as Result from \"effect/Result\"\nimport * as Schema from \"effect/Schema\"\n\nimport { AtlassianOAuthGrantId, AtlassianOAuthProviderIntent } from \"../../api/plugins.js\"\nimport { PluginConnectionId } from \"../../domain/identifiers.js\"\n\nconst activeGrantStorageKey = \"cc_atlassian_oauth_setup_intent_state\"\nconst StoredAtlassianOAuthSetupIntent = Schema.fromJsonString(Schema.Struct({\n preferredSiteId: Schema.NullOr(\n Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(512))\n ),\n recoveryConnectionId: Schema.optionalKey(PluginConnectionId),\n providers: AtlassianOAuthProviderIntent\n}))\n\n/** Bounded setup target that survives the same-tab OAuth redirect. */\nexport type AtlassianOAuthSetupIntent = typeof StoredAtlassianOAuthSetupIntent.Type\n\nconst decodedGrantId = (value: string | null): AtlassianOAuthGrantId | null => {\n const decoded = Schema.decodeUnknownResult(AtlassianOAuthGrantId)(value)\n return Result.isSuccess(decoded) ? decoded.success : null\n}\n\nconst setupIntentStorageKey = (grantId: AtlassianOAuthGrantId): string => `cc_atlassian_oauth_setup_intent:${grantId}`\n\nconst authorizationGrantId = (authorizationUrl: string): AtlassianOAuthGrantId | null => {\n try {\n const states = new URL(authorizationUrl).searchParams.getAll(\"state\")\n return states.length === 1 ? decodedGrantId(states[0] ?? null) : null\n } catch {\n return null\n }\n}\n\n/** Persist one bounded, schema-valid setup target for the next same-tab Atlassian redirect. */\nexport const rememberAtlassianOAuthSetupIntent = (\n authorizationUrl: string,\n intent: AtlassianOAuthSetupIntent\n): boolean => {\n const grantId = authorizationGrantId(authorizationUrl)\n const encoded = Schema.encodeUnknownResult(StoredAtlassianOAuthSetupIntent)(intent)\n if (grantId === null || Result.isFailure(encoded)) return false\n try {\n const previousGrantId = decodedGrantId(sessionStorage.getItem(activeGrantStorageKey))\n if (previousGrantId !== null && previousGrantId !== grantId) {\n sessionStorage.removeItem(setupIntentStorageKey(previousGrantId))\n }\n sessionStorage.setItem(setupIntentStorageKey(grantId), encoded.success)\n sessionStorage.setItem(activeGrantStorageKey, grantId)\n return true\n } catch {\n try {\n sessionStorage.removeItem(setupIntentStorageKey(grantId))\n } catch {\n // Storage is unavailable; the caller keeps the person on the setup form.\n }\n return false\n }\n}\n\n/** Read only a schema-valid setup target associated with the exact callback state. */\nexport const readAtlassianOAuthSetupIntent = (\n state: string | null\n): AtlassianOAuthSetupIntent | null => {\n const grantId = decodedGrantId(state)\n if (grantId === null) return null\n try {\n const key = setupIntentStorageKey(grantId)\n const source = sessionStorage.getItem(key)\n if (source === null) return null\n const decoded = Schema.decodeUnknownResult(StoredAtlassianOAuthSetupIntent)(source)\n if (Result.isSuccess(decoded)) return decoded.success\n sessionStorage.removeItem(key)\n if (sessionStorage.getItem(activeGrantStorageKey) === grantId) sessionStorage.removeItem(activeGrantStorageKey)\n return null\n } catch {\n return null\n }\n}\n\n/** Forget callback intent once navigation has safely encoded or discarded it. */\nexport const forgetAtlassianOAuthSetupIntent = (state: string | null): void => {\n const grantId = decodedGrantId(state)\n if (grantId === null) return\n try {\n sessionStorage.removeItem(setupIntentStorageKey(grantId))\n if (sessionStorage.getItem(activeGrantStorageKey) === grantId) sessionStorage.removeItem(activeGrantStorageKey)\n } catch {\n // Storage cleanup is best-effort in hardened browser contexts.\n }\n}\n"],"mappings":"2JAMA,IAAM,EAAwB,wCACxB,EAAkC,EAAsB,EAAc,CAC1E,gBAAiB,EAAA,EACD,MAAM,EAAiB,EAAG,EAAkB,EAAG,EAAmB,GAAG,CAAC,CACtF,EACA,qBAAsB,EAAmB,CAAkB,EAC3D,UAAW,CACb,CAAC,CAAC,EAKI,EAAkB,GAAuD,CAC7E,IAAM,EAAU,EAA2B,CAAqB,CAAC,CAAC,CAAK,EACvE,OAAO,EAAiB,CAAO,EAAI,EAAQ,QAAU,IACvD,EAEM,EAAyB,GAA2C,mCAAmC,IAEvG,EAAwB,GAA2D,CACvF,GAAI,CACF,IAAM,EAAS,IAAI,IAAI,CAAgB,CAAC,CAAC,aAAa,OAAO,OAAO,EACpE,OAAO,EAAO,SAAW,EAAI,EAAe,EAAO,IAAM,IAAI,EAAI,IACnE,MAAQ,CACN,OAAO,IACT,CACF,EAGa,GACX,EACA,IACY,CACZ,IAAM,EAAU,EAAqB,CAAgB,EAC/C,EAAU,EAA2B,CAA+B,CAAC,CAAC,CAAM,EAClF,GAAI,IAAY,MAAQ,EAAiB,CAAO,EAAG,MAAO,GAC1D,GAAI,CACF,IAAM,EAAkB,EAAe,eAAe,QAAQ,CAAqB,CAAC,EAMpF,OALI,IAAoB,MAAQ,IAAoB,GAClD,eAAe,WAAW,EAAsB,CAAe,CAAC,EAElE,eAAe,QAAQ,EAAsB,CAAO,EAAG,EAAQ,OAAO,EACtE,eAAe,QAAQ,EAAuB,CAAO,EAC9C,EACT,MAAQ,CACN,GAAI,CACF,eAAe,WAAW,EAAsB,CAAO,CAAC,CAC1D,MAAQ,CAER,CACA,MAAO,EACT,CACF,EAGa,EACX,GACqC,CACrC,IAAM,EAAU,EAAe,CAAK,EACpC,GAAI,IAAY,KAAM,OAAO,KAC7B,GAAI,CACF,IAAM,EAAM,EAAsB,CAAO,EACnC,EAAS,eAAe,QAAQ,CAAG,EACzC,GAAI,IAAW,KAAM,OAAO,KAC5B,IAAM,EAAU,EAA2B,CAA+B,CAAC,CAAC,CAAM,EAIlF,OAHI,EAAiB,CAAO,EAAU,EAAQ,SAC9C,eAAe,WAAW,CAAG,EACzB,eAAe,QAAQ,CAAqB,IAAM,GAAS,eAAe,WAAW,CAAqB,EACvG,KACT,MAAQ,CACN,OAAO,IACT,CACF,EAGa,EAAmC,GAA+B,CAC7E,IAAM,EAAU,EAAe,CAAK,EAChC,OAAY,KAChB,GAAI,CACF,eAAe,WAAW,EAAsB,CAAO,CAAC,EACpD,eAAe,QAAQ,CAAqB,IAAM,GAAS,eAAe,WAAW,CAAqB,CAChH,MAAQ,CAER,CACF"}
@@ -0,0 +1,2 @@
1
+ import{$r as e,Ei as t,Kn as n,Li as r,ai as i,li as a,ti as o,u as s,vt as c}from"./agent-api-Dl9TuGOJ.js";import{o as l,t as u}from"./client-Dq_XQE_l.js";var d=class extends r(`ForbiddenApiError`){},f=()=>t({try:()=>sessionStorage.getItem(`cc_csrf`),catch:()=>new d}).pipe(o(t=>t===null?e(new d):n(s)(t).pipe(a(()=>new d)))),p=i(function*(){let e=yield*f();return yield*u({transformClient:t=>t.pipe(l(c(`x-csrf-token`,e)))})});export{p as t};
2
+ //# sourceMappingURL=authenticatedMutationClient-DdowMjyo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authenticatedMutationClient-DYaieXUe.js","names":[],"sources":["../../../src/client/authenticatedMutationClient.ts"],"sourcesContent":["import * as Data from \"effect/Data\"\nimport * as Effect from \"effect/Effect\"\nimport * as Schema from \"effect/Schema\"\nimport * as HttpClient from \"effect/unstable/http/HttpClient\"\nimport * as HttpClientRequest from \"effect/unstable/http/HttpClientRequest\"\n\nimport { makeControlCenterApiClient } from \"../api/client.js\"\nimport { CsrfToken } from \"../api/session.js\"\n\nclass MutationProofUnavailable extends Data.TaggedError(\"ForbiddenApiError\") {}\n\nconst mutationProof = (): Effect.Effect<CsrfToken, MutationProofUnavailable> =>\n Effect.try({\n try: () => sessionStorage.getItem(\"cc_csrf\"),\n catch: () => new MutationProofUnavailable()\n }).pipe(\n Effect.flatMap((value) =>\n value === null\n ? Effect.fail(new MutationProofUnavailable())\n : Schema.decodeUnknownEffect(CsrfToken)(value).pipe(\n Effect.mapError(() => new MutationProofUnavailable())\n )\n )\n )\n\n/** Generated API client carrying the current tab's decoded mutation proof. */\nexport const makeAuthenticatedMutationClient = Effect.gen(function*() {\n const csrfToken = yield* mutationProof()\n return yield* makeControlCenterApiClient({\n transformClient: (httpClient) =>\n httpClient.pipe(HttpClient.mapRequest(HttpClientRequest.setHeader(\"x-csrf-token\", csrfToken)))\n })\n})\n"],"mappings":"4JASA,IAAM,EAAN,cAAuC,EAAiB,mBAAmB,CAAC,AAAC,CAAC,EAExE,MACJ,EAAW,CACT,QAAW,eAAe,QAAQ,SAAS,EAC3C,UAAa,IAAI,CACnB,CAAC,CAAC,CAAC,KACD,EAAgB,GACd,IAAU,KACN,EAAY,IAAI,CAA0B,EAC1C,EAA2B,CAAS,CAAC,CAAC,CAAK,CAAC,CAAC,KAC7C,MAAsB,IAAI,CAA0B,CACtD,CACJ,CACF,EAGW,EAAkC,EAAW,WAAY,CACpE,IAAM,EAAY,MAAO,EAAc,EACvC,OAAO,MAAO,EAA2B,CACvC,gBAAkB,GAChB,EAAW,KAAK,EAAsB,EAA4B,eAAgB,CAAS,CAAC,CAAC,CACjG,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"authenticatedMutationClient-DdowMjyo.js","names":[],"sources":["../../../src/client/authenticatedMutationClient.ts"],"sourcesContent":["import * as Data from \"effect/Data\"\nimport * as Effect from \"effect/Effect\"\nimport * as Schema from \"effect/Schema\"\nimport * as HttpClient from \"effect/unstable/http/HttpClient\"\nimport * as HttpClientRequest from \"effect/unstable/http/HttpClientRequest\"\n\nimport { makeControlCenterApiClient } from \"../api/client.js\"\nimport { CsrfToken } from \"../api/session.js\"\n\nclass MutationProofUnavailable extends Data.TaggedError(\"ForbiddenApiError\") {}\n\nconst mutationProof = (): Effect.Effect<CsrfToken, MutationProofUnavailable> =>\n Effect.try({\n try: () => sessionStorage.getItem(\"cc_csrf\"),\n catch: () => new MutationProofUnavailable()\n }).pipe(\n Effect.flatMap((value) =>\n value === null\n ? Effect.fail(new MutationProofUnavailable())\n : Schema.decodeUnknownEffect(CsrfToken)(value).pipe(\n Effect.mapError(() => new MutationProofUnavailable())\n )\n )\n )\n\n/** Generated API client carrying the current tab's decoded mutation proof. */\nexport const makeAuthenticatedMutationClient = Effect.gen(function*() {\n const csrfToken = yield* mutationProof()\n return yield* makeControlCenterApiClient({\n transformClient: (httpClient) =>\n httpClient.pipe(HttpClient.mapRequest(HttpClientRequest.setHeader(\"x-csrf-token\", csrfToken)))\n })\n})\n"],"mappings":"4JASA,IAAM,EAAN,cAAuC,EAAiB,mBAAmB,CAAC,AAAC,CAAC,EAExE,MACJ,EAAW,CACT,QAAW,eAAe,QAAQ,SAAS,EAC3C,UAAa,IAAI,CACnB,CAAC,CAAC,CAAC,KACD,EAAgB,GACd,IAAU,KACN,EAAY,IAAI,CAA0B,EAC1C,EAA2B,CAAS,CAAC,CAAC,CAAK,CAAC,CAAC,KAC7C,MAAsB,IAAI,CAA0B,CACtD,CACJ,CACF,EAGW,EAAkC,EAAW,WAAY,CACpE,IAAM,EAAY,MAAO,EAAc,EACvC,OAAO,MAAO,EAA2B,CACvC,gBAAkB,GAChB,EAAW,KAAK,EAAsB,EAA4B,eAAgB,CAAS,CAAC,CAAC,CACjG,CAAC,CACH,CAAC"}
@@ -1,2 +1,2 @@
1
- import{Br as e,Fr as t,Jn as n,_i as r,ai as i,cn as a,ni as o,pi as s}from"./agent-api-CeONl_8w.js";import{a as c,t as l}from"./client-DKS82kT_.js";import{n as u,t as d}from"./BrowserCrypto-BMbjhcvP.js";import{t as f}from"./authenticatedMutationClient-DYaieXUe.js";var p=o(`AuthorizedShareTransport.expiresAtFor`)(function*(n){let r=yield*e;switch(n){case`hour`:return t(r,{hours:1});case`day`:return t(r,{days:1});case`week`:return t(r,{days:7})}}),m=i(function*(){let e=yield*(yield*u).randomUUIDv7;return yield*n(a)(e)}),h=o(`AuthorizedShareTransport.prepareCreate`)(function*(e){return{...e,expiresAt:yield*p(e.lifetime),shareId:yield*m}}),g={create:(e,t)=>r(i(function*(){return yield*(yield*f).shares.create({payload:{entityId:e.entityId,expiresAt:e.expiresAt,granteePersonId:e.granteePersonId,shareId:e.shareId}})}).pipe(s(c)),{signal:t}),prepareCreate:e=>r(h(e).pipe(s(d))),resolve:(e,t,n)=>r(i(function*(){return yield*(yield*l()).shares.resolve({params:{workspaceId:e,shareId:t}})}).pipe(s(c)),{signal:n}),revoke:(e,t,n)=>r(i(function*(){yield*(yield*f).shares.revoke({params:{workspaceId:e,shareId:t}})}).pipe(s(c)),{signal:n})};export{g as t};
2
- //# sourceMappingURL=authorizedShareTransport-cxBoQzQ2.js.map
1
+ import{Br as e,Fr as t,Kn as n,_i as r,ai as i,cn as a,ni as o,pi as s}from"./agent-api-Dl9TuGOJ.js";import{a as c,t as l}from"./client-Dq_XQE_l.js";import{n as u,t as d}from"./BrowserCrypto-3BoTVFdl.js";import{t as f}from"./authenticatedMutationClient-DdowMjyo.js";var p=o(`AuthorizedShareTransport.expiresAtFor`)(function*(n){let r=yield*e;switch(n){case`hour`:return t(r,{hours:1});case`day`:return t(r,{days:1});case`week`:return t(r,{days:7})}}),m=i(function*(){let e=yield*(yield*u).randomUUIDv7;return yield*n(a)(e)}),h=o(`AuthorizedShareTransport.prepareCreate`)(function*(e){return{...e,expiresAt:yield*p(e.lifetime),shareId:yield*m}}),g={create:(e,t)=>r(i(function*(){return yield*(yield*f).shares.create({payload:{entityId:e.entityId,expiresAt:e.expiresAt,granteePersonId:e.granteePersonId,shareId:e.shareId}})}).pipe(s(c)),{signal:t}),prepareCreate:e=>r(h(e).pipe(s(d))),resolve:(e,t,n)=>r(i(function*(){return yield*(yield*l()).shares.resolve({params:{workspaceId:e,shareId:t}})}).pipe(s(c)),{signal:n}),revoke:(e,t,n)=>r(i(function*(){yield*(yield*f).shares.revoke({params:{workspaceId:e,shareId:t}})}).pipe(s(c)),{signal:n})};export{g as t};
2
+ //# sourceMappingURL=authorizedShareTransport-CnclcYai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorizedShareTransport-cxBoQzQ2.js","names":[],"sources":["../../../src/client/items/authorizedShareTransport.ts"],"sourcesContent":["import * as BrowserCrypto from \"@effect/platform-browser/BrowserCrypto\"\nimport * as Crypto from \"effect/Crypto\"\nimport * as DateTime from \"effect/DateTime\"\nimport * as Effect from \"effect/Effect\"\nimport * as Schema from \"effect/Schema\"\nimport * as FetchHttpClient from \"effect/unstable/http/FetchHttpClient\"\n\nimport { makeControlCenterApiClient } from \"../../api/client.js\"\nimport type { AuthorizedShareResolution, AuthorizedShareSummary } from \"../../api/shares.js\"\nimport type { EntityId, PersonId, ShareId, WorkspaceId } from \"../../domain/identifiers.js\"\nimport { ShareId as ShareIdSchema } from \"../../domain/identifiers.js\"\nimport type { UtcTimestamp } from \"../../domain/utcTimestamp.js\"\nimport { makeAuthenticatedMutationClient } from \"../authenticatedMutationClient.js\"\n\nexport type AuthorizedShareLifetime = \"hour\" | \"day\" | \"week\"\n\n/** Exact share creation intent supplied to the generated browser transport. */\nexport interface PrepareAuthorizedShareTransportInput {\n readonly entityId: EntityId\n readonly granteePersonId: PersonId\n readonly lifetime: AuthorizedShareLifetime\n}\n\n/** Retry-stable share creation intent, including its original identity and expiry. */\nexport interface CreateAuthorizedShareTransportInput extends PrepareAuthorizedShareTransportInput {\n readonly expiresAt: UtcTimestamp\n readonly shareId: ShareId\n}\n\nconst expiresAtFor = Effect.fn(\"AuthorizedShareTransport.expiresAtFor\")(function*(lifetime: AuthorizedShareLifetime) {\n const now = yield* DateTime.now\n switch (lifetime) {\n case \"hour\":\n return DateTime.add(now, { hours: 1 })\n case \"day\":\n return DateTime.add(now, { days: 1 })\n case \"week\":\n return DateTime.add(now, { days: 7 })\n }\n})\n\nexport interface AuthorizedShareTransport {\n readonly create: (\n input: CreateAuthorizedShareTransportInput,\n signal: AbortSignal\n ) => Promise<AuthorizedShareSummary>\n readonly prepareCreate: (\n input: PrepareAuthorizedShareTransportInput\n ) => Promise<CreateAuthorizedShareTransportInput>\n readonly resolve: (\n workspaceId: WorkspaceId,\n shareId: ShareId,\n signal: AbortSignal\n ) => Promise<AuthorizedShareResolution>\n readonly revoke: (workspaceId: WorkspaceId, shareId: ShareId, signal: AbortSignal) => Promise<void>\n}\n\nconst makeShareId = Effect.gen(function*() {\n const cryptoService = yield* Crypto.Crypto\n const uuid = yield* cryptoService.randomUUIDv7\n return yield* Schema.decodeUnknownEffect(ShareIdSchema)(uuid)\n})\n\nconst prepareCreate = Effect.fn(\"AuthorizedShareTransport.prepareCreate\")(function*(\n input: PrepareAuthorizedShareTransportInput\n) {\n return {\n ...input,\n expiresAt: yield* expiresAtFor(input.lifetime),\n shareId: yield* makeShareId\n }\n})\n\n/** Generated-client transport for exact-scope authenticated entity shares. */\nexport const browserAuthorizedShareTransport: AuthorizedShareTransport = {\n create: (input, signal) =>\n Effect.runPromise(\n Effect.gen(function*() {\n const client = yield* makeAuthenticatedMutationClient\n return yield* client.shares.create({\n payload: {\n entityId: input.entityId,\n expiresAt: input.expiresAt,\n granteePersonId: input.granteePersonId,\n shareId: input.shareId\n }\n })\n }).pipe(Effect.provide(FetchHttpClient.layer)),\n { signal }\n ),\n prepareCreate: (input) => Effect.runPromise(prepareCreate(input).pipe(Effect.provide(BrowserCrypto.layer))),\n resolve: (workspaceId, shareId, signal) =>\n Effect.runPromise(\n Effect.gen(function*() {\n const client = yield* makeControlCenterApiClient()\n return yield* client.shares.resolve({ params: { workspaceId, shareId } })\n }).pipe(Effect.provide(FetchHttpClient.layer)),\n { signal }\n ),\n revoke: (workspaceId, shareId, signal) =>\n Effect.runPromise(\n Effect.gen(function*() {\n const client = yield* makeAuthenticatedMutationClient\n yield* client.shares.revoke({ params: { workspaceId, shareId } })\n }).pipe(Effect.provide(FetchHttpClient.layer)),\n { signal }\n )\n}\n"],"mappings":"0QA6BA,IAAM,EAAe,EAAU,uCAAuC,CAAC,CAAC,UAAU,EAAmC,CACnH,IAAM,EAAM,MAAO,EACnB,OAAQ,EAAR,CACE,IAAK,OACH,OAAO,EAAa,EAAK,CAAE,MAAO,CAAE,CAAC,EACvC,IAAK,MACH,OAAO,EAAa,EAAK,CAAE,KAAM,CAAE,CAAC,EACtC,IAAK,OACH,OAAO,EAAa,EAAK,CAAE,KAAM,CAAE,CAAC,CACxC,CACF,CAAC,EAkBK,EAAc,EAAW,WAAY,CAEzC,IAAM,EAAO,OAAO,MADS,EAAA,CACK,aAClC,OAAO,MAAO,EAA2B,CAAa,CAAC,CAAC,CAAI,CAC9D,CAAC,EAEK,EAAgB,EAAU,wCAAwC,CAAC,CAAC,UACxE,EACA,CACA,MAAO,CACL,GAAG,EACH,UAAW,MAAO,EAAa,EAAM,QAAQ,EAC7C,QAAS,MAAO,CAClB,CACF,CAAC,EAGY,EAA4D,CACvE,QAAS,EAAO,IACd,EACE,EAAW,WAAY,CAErB,OAAO,OAAO,MADQ,EAAA,CACD,OAAO,OAAO,CACjC,QAAS,CACP,SAAU,EAAM,SAChB,UAAW,EAAM,UACjB,gBAAiB,EAAM,gBACvB,QAAS,EAAM,OACjB,CACF,CAAC,CACH,CAAC,CAAC,CAAC,KAAK,EAAe,CAAqB,CAAC,EAC7C,CAAE,QAAO,CACX,EACF,cAAgB,GAAU,EAAkB,EAAc,CAAK,CAAC,CAAC,KAAK,EAAe,CAAmB,CAAC,CAAC,EAC1G,SAAU,EAAa,EAAS,IAC9B,EACE,EAAW,WAAY,CAErB,OAAO,OAAO,MADQ,EAA2B,EAAA,CAC5B,OAAO,QAAQ,CAAE,OAAQ,CAAE,cAAa,SAAQ,CAAE,CAAC,CAC1E,CAAC,CAAC,CAAC,KAAK,EAAe,CAAqB,CAAC,EAC7C,CAAE,QAAO,CACX,EACF,QAAS,EAAa,EAAS,IAC7B,EACE,EAAW,WAAY,CAErB,OAAO,MADe,EAAA,CACR,OAAO,OAAO,CAAE,OAAQ,CAAE,cAAa,SAAQ,CAAE,CAAC,CAClE,CAAC,CAAC,CAAC,KAAK,EAAe,CAAqB,CAAC,EAC7C,CAAE,QAAO,CACX,CACJ"}
1
+ {"version":3,"file":"authorizedShareTransport-CnclcYai.js","names":[],"sources":["../../../src/client/items/authorizedShareTransport.ts"],"sourcesContent":["import * as BrowserCrypto from \"@effect/platform-browser/BrowserCrypto\"\nimport * as Crypto from \"effect/Crypto\"\nimport * as DateTime from \"effect/DateTime\"\nimport * as Effect from \"effect/Effect\"\nimport * as Schema from \"effect/Schema\"\nimport * as FetchHttpClient from \"effect/unstable/http/FetchHttpClient\"\n\nimport { makeControlCenterApiClient } from \"../../api/client.js\"\nimport type { AuthorizedShareResolution, AuthorizedShareSummary } from \"../../api/shares.js\"\nimport type { EntityId, PersonId, ShareId, WorkspaceId } from \"../../domain/identifiers.js\"\nimport { ShareId as ShareIdSchema } from \"../../domain/identifiers.js\"\nimport type { UtcTimestamp } from \"../../domain/utcTimestamp.js\"\nimport { makeAuthenticatedMutationClient } from \"../authenticatedMutationClient.js\"\n\nexport type AuthorizedShareLifetime = \"hour\" | \"day\" | \"week\"\n\n/** Exact share creation intent supplied to the generated browser transport. */\nexport interface PrepareAuthorizedShareTransportInput {\n readonly entityId: EntityId\n readonly granteePersonId: PersonId\n readonly lifetime: AuthorizedShareLifetime\n}\n\n/** Retry-stable share creation intent, including its original identity and expiry. */\nexport interface CreateAuthorizedShareTransportInput extends PrepareAuthorizedShareTransportInput {\n readonly expiresAt: UtcTimestamp\n readonly shareId: ShareId\n}\n\nconst expiresAtFor = Effect.fn(\"AuthorizedShareTransport.expiresAtFor\")(function*(lifetime: AuthorizedShareLifetime) {\n const now = yield* DateTime.now\n switch (lifetime) {\n case \"hour\":\n return DateTime.add(now, { hours: 1 })\n case \"day\":\n return DateTime.add(now, { days: 1 })\n case \"week\":\n return DateTime.add(now, { days: 7 })\n }\n})\n\nexport interface AuthorizedShareTransport {\n readonly create: (\n input: CreateAuthorizedShareTransportInput,\n signal: AbortSignal\n ) => Promise<AuthorizedShareSummary>\n readonly prepareCreate: (\n input: PrepareAuthorizedShareTransportInput\n ) => Promise<CreateAuthorizedShareTransportInput>\n readonly resolve: (\n workspaceId: WorkspaceId,\n shareId: ShareId,\n signal: AbortSignal\n ) => Promise<AuthorizedShareResolution>\n readonly revoke: (workspaceId: WorkspaceId, shareId: ShareId, signal: AbortSignal) => Promise<void>\n}\n\nconst makeShareId = Effect.gen(function*() {\n const cryptoService = yield* Crypto.Crypto\n const uuid = yield* cryptoService.randomUUIDv7\n return yield* Schema.decodeUnknownEffect(ShareIdSchema)(uuid)\n})\n\nconst prepareCreate = Effect.fn(\"AuthorizedShareTransport.prepareCreate\")(function*(\n input: PrepareAuthorizedShareTransportInput\n) {\n return {\n ...input,\n expiresAt: yield* expiresAtFor(input.lifetime),\n shareId: yield* makeShareId\n }\n})\n\n/** Generated-client transport for exact-scope authenticated entity shares. */\nexport const browserAuthorizedShareTransport: AuthorizedShareTransport = {\n create: (input, signal) =>\n Effect.runPromise(\n Effect.gen(function*() {\n const client = yield* makeAuthenticatedMutationClient\n return yield* client.shares.create({\n payload: {\n entityId: input.entityId,\n expiresAt: input.expiresAt,\n granteePersonId: input.granteePersonId,\n shareId: input.shareId\n }\n })\n }).pipe(Effect.provide(FetchHttpClient.layer)),\n { signal }\n ),\n prepareCreate: (input) => Effect.runPromise(prepareCreate(input).pipe(Effect.provide(BrowserCrypto.layer))),\n resolve: (workspaceId, shareId, signal) =>\n Effect.runPromise(\n Effect.gen(function*() {\n const client = yield* makeControlCenterApiClient()\n return yield* client.shares.resolve({ params: { workspaceId, shareId } })\n }).pipe(Effect.provide(FetchHttpClient.layer)),\n { signal }\n ),\n revoke: (workspaceId, shareId, signal) =>\n Effect.runPromise(\n Effect.gen(function*() {\n const client = yield* makeAuthenticatedMutationClient\n yield* client.shares.revoke({ params: { workspaceId, shareId } })\n }).pipe(Effect.provide(FetchHttpClient.layer)),\n { signal }\n )\n}\n"],"mappings":"0QA6BA,IAAM,EAAe,EAAU,uCAAuC,CAAC,CAAC,UAAU,EAAmC,CACnH,IAAM,EAAM,MAAO,EACnB,OAAQ,EAAR,CACE,IAAK,OACH,OAAO,EAAa,EAAK,CAAE,MAAO,CAAE,CAAC,EACvC,IAAK,MACH,OAAO,EAAa,EAAK,CAAE,KAAM,CAAE,CAAC,EACtC,IAAK,OACH,OAAO,EAAa,EAAK,CAAE,KAAM,CAAE,CAAC,CACxC,CACF,CAAC,EAkBK,EAAc,EAAW,WAAY,CAEzC,IAAM,EAAO,OAAO,MADS,EAAA,CACK,aAClC,OAAO,MAAO,EAA2B,CAAa,CAAC,CAAC,CAAI,CAC9D,CAAC,EAEK,EAAgB,EAAU,wCAAwC,CAAC,CAAC,UACxE,EACA,CACA,MAAO,CACL,GAAG,EACH,UAAW,MAAO,EAAa,EAAM,QAAQ,EAC7C,QAAS,MAAO,CAClB,CACF,CAAC,EAGY,EAA4D,CACvE,QAAS,EAAO,IACd,EACE,EAAW,WAAY,CAErB,OAAO,OAAO,MADQ,EAAA,CACD,OAAO,OAAO,CACjC,QAAS,CACP,SAAU,EAAM,SAChB,UAAW,EAAM,UACjB,gBAAiB,EAAM,gBACvB,QAAS,EAAM,OACjB,CACF,CAAC,CACH,CAAC,CAAC,CAAC,KAAK,EAAe,CAAqB,CAAC,EAC7C,CAAE,QAAO,CACX,EACF,cAAgB,GAAU,EAAkB,EAAc,CAAK,CAAC,CAAC,KAAK,EAAe,CAAmB,CAAC,CAAC,EAC1G,SAAU,EAAa,EAAS,IAC9B,EACE,EAAW,WAAY,CAErB,OAAO,OAAO,MADQ,EAA2B,EAAA,CAC5B,OAAO,QAAQ,CAAE,OAAQ,CAAE,cAAa,SAAQ,CAAE,CAAC,CAC1E,CAAC,CAAC,CAAC,KAAK,EAAe,CAAqB,CAAC,EAC7C,CAAE,QAAO,CACX,EACF,QAAS,EAAa,EAAS,IAC7B,EACE,EAAW,WAAY,CAErB,OAAO,MADe,EAAA,CACR,OAAO,OAAO,CAAE,OAAQ,CAAE,cAAa,SAAQ,CAAE,CAAC,CAClE,CAAC,CAAC,CAAC,KAAK,EAAe,CAAqB,CAAC,EAC7C,CAAE,QAAO,CACX,CACJ"}
@@ -0,0 +1,5 @@
1
+ import{$ as e,$n as t,$r as n,$t as r,Aa as i,Ai as a,An as o,Ar as s,At as c,B as l,Bn as ee,Bt as te,C as u,Ci as ne,Cn as d,Cr as re,Ct as ie,D as f,Di as ae,Dn as p,Dr as oe,Dt as se,E as m,En as h,Er as ce,Et as le,F as ue,Fa as de,Fn as g,G as fe,Gi as pe,Gn as _,Gr as me,Gt as he,H as ge,Hn as _e,Ht as ve,I as ye,Ia as be,Ii as xe,In as Se,It as Ce,J as we,Jn as Te,Jt as Ee,K as De,Kt as v,L as Oe,Ln as ke,Lt as Ae,Ma as je,Mi as Me,Mn as y,Mr as Ne,Mt as Pe,N as Fe,Na as Ie,Nn as b,Nr as Le,Nt as Re,O as x,Oi as ze,On as S,Or as Be,Ot as Ve,P as He,Pa as Ue,Pn as We,Pr as Ge,Pt as Ke,Q as qe,Qi as Je,Qn as Ye,Qt as Xe,R as Ze,Ri as Qe,Rt as $e,S as C,Sa as et,Si as tt,Sn as w,Sr as nt,St as rt,T as it,Ti as at,Tn as ot,Tr as st,Tt as ct,U as T,Ui as lt,Un as ut,Ut as dt,V as E,Vn as ft,W as pt,Wn as mt,Wt as ht,X as gt,Xi as _t,Xn as vt,Xr as yt,Xt as bt,Y as xt,Yi as St,Yt as D,Z as Ct,Zi as wt,Zr as Tt,Zt as Et,_n as Dt,_r as O,_t as Ot,a as kt,ai as At,an as jt,ar as Mt,at as Nt,b as Pt,ba as Ft,br as It,bt as Lt,ca as Rt,ci as zt,cn as Bt,cr as k,ct as Vt,dn as Ht,dr as A,dt as Ut,ea as Wt,ei as Gt,en as Kt,er as qt,et as Jt,f as Yt,fi as Xt,fn as Zt,fr as j,ft as Qt,gr as $t,gt as en,hn as tn,ht as nn,i as rn,ia as an,in as on,ir as M,it as sn,ji as cn,jn as ln,jr as un,jt as dn,ka as fn,ki as pn,kn as mn,kr as hn,kt as gn,l as _n,la as vn,ln as N,lr as yn,lt as bn,m as xn,ma as Sn,mn as Cn,mr as P,mt as wn,na as Tn,nn as En,nr as Dn,nt as On,o as kn,oa as An,on as F,or as I,ot as jn,p as L,pn as Mn,pr as Nn,pt as Pn,q as Fn,qi as In,qr as Ln,qt as Rn,ra as zn,ri as Bn,rn as R,rr as z,rt as Vn,sa as Hn,sn as Un,sr as Wn,st as Gn,t as Kn,ti as B,tn as V,tr as qn,tt as Jn,ua as Yn,ui as Xn,un as Zn,ur as H,ut as Qn,v as $n,vn as er,vr as tr,w as nr,wn as rr,wr as ir,wt as ar,x as U,xa as or,xi as W,xr as sr,xt as cr,y as lr,yn as ur,yr as dr,yt as fr,z as pr,zi as mr,zn as hr,zt as gr}from"./agent-api-Dl9TuGOJ.js";var _r=e=>()=>{let t=mt(mn(e));return nt((e,n)=>W(B(e,e=>t(e))))},vr=`~effect/http/HttpClient`,yr=Hn(`effect/HttpClient`),br=Ue(2,(e,t)=>xr(n=>t(e.postprocess(n)),e.preprocess)),xr=(e,t)=>{let n=Object.create(Sr);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},Sr={[vr]:vr,pipe(){return be(this,arguments)},...or,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(rt.map(([e,t])=>[t,function(t,n){return this.execute(nn(e)(t,n))}]))},Cr=e=>xr(t=>B(t,t=>cn(r=>{let i=Ar.get(t),a=i??new AbortController,o=cr(t.url,t.urlParams,Sn(t.hash));if(Wt(o))return n(new dn({reason:new Pe({request:t,cause:o.failure})}));let s=o.success;if(r.getRef(St)||r.getRef(Tr)(t)){let n=e(t,s,a.signal,r);return i?n:ae(e=>Xn(e(n),{onSuccess(e){return kr.register(e,a),W(new jr(e,a))},onFailure(e){return lt(e)&&a.abort(),Gt(e)}}))}return pn(r.getRef(Dr)(t),{kind:`client`},n=>{n.attribute(`http.request.method`,t.method),n.attribute(`server.address`,s.origin),s.port!==``&&n.attribute(`server.port`,+s.port),n.attribute(`url.full`,s.toString()),n.attribute(`url.path`,s.pathname),n.attribute(`url.scheme`,s.protocol.slice(0,-1));let o=s.search.slice(1);o!==``&&n.attribute(`url.query`,o);let c=r.getRef(Ce),l=gr(t.headers,c);for(let e in l)n.attribute(`http.request.header.${e}`,String(l[e]));return t=r.getRef(Er)?fr(t,Vt(n)):t,ae(o=>o(e(t,s,a.signal,r)).pipe(Me(n,{captureStackTrace:!1}),Xn({onSuccess:e=>{n.attribute(`http.response.status_code`,e.status);let t=gr(e.headers,c);for(let e in t)n.attribute(`http.response.header.${e}`,String(t[e]));return i?W(e):(kr.register(e,a),W(new jr(e,a)))},onFailure(e){return!i&&lt(e)&&a.abort(),Gt(e)}})))})})),W),wr=Ue(2,(e,t)=>xr(e.postprocess,n=>zt(e.preprocess(n),t))),Tr=An(`effect/http/HttpClient/TracerDisabledWhen`,{defaultValue:()=>je}),Er=An(`effect/HttpClient/TracerPropagationEnabled`,{defaultValue:Ie}),Dr=An(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),Or=e=>In(yr)(Tt(t=>zt(e,e=>br(e,ze(e=>Yn(t,e)))))),kr=(()=>{if(`FinalizationRegistry`in globalThis&&globalThis.FinalizationRegistry){let e=new FinalizationRegistry(e=>{e.abort()});return{register(t,n){e.register(t,n,t)},unregister(t){e.unregister(t)}}}let e=new Map;return{register(t,n){e.set(t,setTimeout(()=>n.abort(),5e3))},unregister(t){let n=e.get(t);n!==void 0&&(clearTimeout(n),e.delete(t))}}})(),Ar=new WeakMap,jr=class{original;controller;constructor(e,t){this.original=e,this.controller=t}[bn]=bn;[Qt]=Qt;applyInterrupt(e){return tt(()=>(kr.unregister(this.original),Xt(e,()=>ne(()=>{this.controller.abort()}))))}get request(){return this.original.request}get status(){return this.original.status}get headers(){return this.original.headers}get cookies(){return this.original.cookies}get remoteAddress(){return this.original.remoteAddress}get formData(){return this.applyInterrupt(this.original.formData)}get text(){return this.applyInterrupt(this.original.text)}get json(){return this.applyInterrupt(this.original.json)}get urlParamsBody(){return this.applyInterrupt(this.original.urlParamsBody)}get arrayBuffer(){return this.applyInterrupt(this.original.arrayBuffer)}get stream(){return Dt(()=>(kr.unregister(this.original),Zt(this.original.stream,ne(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[et](){return this.original[et]()}pipe(){return be(this,arguments)}},Mr=An(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),Nr=class extends Hn()(`effect/http/FetchHttpClient/RequestInit`){},Pr=Or(W(Cr((e,t,n,r)=>{let i=r.getRef(Mr),a=r.context.mapUnsafe.get(Nr.key)??{},o=a.headers?$e(Ae(a.headers),e.headers):e.headers;o[`content-length`]&&(o=te(o,`content-length`));let s=r=>zt(at({try:()=>i(t,{...a,method:e.method,headers:o,body:r,duplex:e.body._tag===`Stream`?`half`:void 0,signal:n}),catch:t=>new dn({reason:new Ke({request:e,cause:t})})}),t=>Qn(e,t));switch(e.body._tag){case`Raw`:case`Uint8Array`:return s(e.body.body);case`FormData`:return s(e.body.formData);case`Stream`:return B(er(e.body.stream),s)}return s(void 0)}))),Fr=`~effect/httpapi/HttpApi`,Ir={[Fr]:Fr,pipe(){return be(this,arguments)},add(...e){let t={...this.groups};for(let n of e)Le(t,n.identifier,n);return Rr({...Lr(this),groups:t})},addHttpApi(e){let t={...this.groups};for(let n in e.groups){let r=e.groups[n];Le(t,n,r.annotateMerge(Yn(e.annotations,r.annotations)))}return Rr({...Lr(this),groups:t})},prefix(e){return Rr({...Lr(this),groups:wt(this.groups,t=>t.prefix(e))})},middleware(e){return Rr({...Lr(this),groups:wt(this.groups,t=>t.middleware(e))})},annotate(e,t){return Rr({...Lr(this),annotations:Rt(this.annotations,e,t)})},annotateMerge(e){return Rr({...Lr(this),annotations:Yn(this.annotations,e)})}},Lr=e=>({identifier:e.identifier,groups:e.groups,annotations:e.annotations}),Rr=e=>{function t(){}return Object.setPrototypeOf(t,Ir),Object.assign(t,e)},zr=e=>Rr({identifier:e,groups:{},annotations:vn()}),Br=(e,t)=>{let n=Object.values(e.groups);for(let r of n){let n=Yn(e.annotations,r.annotations);t.onGroup({group:r,mergedAnnotations:n});let i=Object.values(r.endpoints);for(let e of i)t.predicate&&!t.predicate({endpoint:e,group:r})||t.onEndpoint({group:r,endpoint:e,middleware:e.middlewares,mergedAnnotations:Yn(n,e.annotations),successes:Vr(De(e),Vn),errors:Vr(pt(e),Jn)})}},Vr=(e,t)=>{let n=new Map;return e.forEach(r),n;function r(e){if(Nt(e))return;let r=e.ast,i=t(r),a=n.get(i);a===void 0?n.set(i,[e]):a.push(e)}};Hn()(`effect/httpapi/HttpApi/AdditionalSchemas`);var Hr=()=>nt((e,t)=>ne(()=>{let t=[],r,i=Wr(e=>{e._tag===`Retry`?r=e:t.push(e)}),o=B(e,e=>{for(let t=0;t<e.length;t++)i.feed(e[t]);return a});return tt(function e(){if(_t(t)){let e=t;return t=[],W(e)}else if(r)return n(r);return B(o,e)})})),Ur=e=>re(Hr(),_r(qr.pipe(_(e)))());function Wr(e){let t,n,r,i,a,o,s,c;return l(),{feed:ee,reset:l};function l(){t=!0,n=``,r=0,i=-1,a=void 0,s=void 0,c=``}function ee(e){n=n?n+e:e,t&&Kr(n)&&(n=n.slice(Gr.length)),t=!1;let a=n.length,o=0,s=!1;for(;o<a;){s&&=(n[o]===`
2
+ `&&++o,!1);let e=-1,t=i,c;for(let i=r;e<0&&i<a;++i)c=n[i],c===`:`&&t<0?t=i-o:c===`\r`?(s=!0,e=i-o):c===`
3
+ `&&(e=i-o);if(e<0){r=a-o,i=t;break}else r=0,i=-1;te(n,o,t,e),o+=e+1}o===a?n=``:o>0&&(n=n.slice(o))}function te(t,n,r,i){if(i===0){c.length>0&&(e({_tag:`Event`,id:a,event:s??`message`,data:c.slice(0,-1)}),c=``,a=void 0),s=void 0;return}let l=r<0,ee=t.slice(n,n+(l?i:r)),te=0;te=l?i:t[n+r+1]===` `?r+2:r+1;let u=n+te,ne=i-te,d=t.slice(u,u+ne).toString();if(ee===`data`)c+=d?`${d}\n`:`
4
+ `;else if(ee===`event`)s=d;else if(ee===`id`&&!d.includes(`\0`))a=d,o=d;else if(ee===`retry`){let t=parseInt(d,10);Number.isNaN(t)||e(new Yr({duration:an(t),lastEventId:o}))}}}var Gr=[239,187,191];function Kr(e){return Gr.every((t,n)=>e.charCodeAt(n)===t)}var qr=b({id:Nn(y),event:y,data:y}),Jr=`~effect/encoding/Sse/Retry`,Yr=class e extends xe(`Retry`){[Jr]=Jr;static is(e){return fn(e,Jr)}static filter(t){return e.is(t)?zn(t):Je(t)}},Xr=(e,t)=>At(function*(){let r=yield*yt(),i=t.httpClient.pipe(t?.baseUrl===void 0?de:wr(en(t.baseUrl.toString())));function a(e,t,n,o,s){if(s===-1)return i.execute(n);let c=r.mapUnsafe.get(o[s]);return c===void 0?a(e,t,n,o,s-1):c({endpoint:t,group:e,request:n,next(n){return a(e,t,n,o,s-1)}})}Br(e,{predicate:t?.predicate,onGroup(e){t.onGroup?.(e)},onEndpoint(e){let{group:r,endpoint:i,errors:o,successes:s}=e,c=ei(i.path),l={orElse:gi},ee=Ut(l),te=new Map;for(let[e,t]of o.entries()){let n=ii(t);for(let[t,r]of n.entries())ni(te,e,t,ti(r))}for(let[e,t]of te.entries()){let r=ri(t);l[e]=e=>B(Ln(r(e),t=>Gt(Qe(mr(new dn({reason:new Re({request:e.request,response:e})})),t))),n)}let u=new Map;for(let[e,t]of s.entries()){let n=ii(t);for(let[t,r]of n.entries())ni(u,e,t,ti(r))}for(let e of si(i))ni(u,On(e),e.contentType,ci(e));for(let[e,t]of u.entries())l[e]=ri(t);let ne=sr(i.params,vt),d=fe(i),re=_t(d)?ie(i.method)?vt(vi(d,i.method)):vt(hr(d)):void 0,f=sr(i.headers,vt),ae=sr(i.query,vt),p=Array.from(e.middleware,e=>`${e.key}/Client`),oe=Bn(function*(e){let n=nn(i.method)(i.path);if(e!==void 0){if(ne!==void 0){let t=yield*ne(e.params);n=Lt(n,c(t))}if(re!==void 0)if(ie(i.method))if(e.payload instanceof FormData)n=wn(n,e.payload);else{let t=yield*re(e.payload);n=Ot(n,t)}else{let t=yield*re(e.payload);n=Pn(n,t)}if(f!==void 0){let t=yield*f(e.headers);n=fr(n,t)}if(ae!==void 0){let t=yield*ae(e.query);n=Pn(n,t)}}let o=yield*a(r,i,n,p,p.length-1);if(e?.responseMode===`response-only`)return o;let s=yield*t.transformResponse===void 0?ee(o):t.transformResponse(ee(o));return e?.responseMode===`decoded-and-response`?[s,o]:s});t.onEndpoint({...e,endpointFn:oe})}})}),Zr=(e,t)=>B(yr,n=>Qr(e,{...t,httpClient:t?.transformClient?t.transformClient(n):n})),Qr=(e,t)=>{let n={};return Xr(e,{...t,onGroup({group:e}){e.topLevel||Le(n,e.identifier,{})},onEndpoint({endpoint:e,endpointFn:t,group:r}){Le(r.topLevel?n:n[r.identifier],e.identifier,t)}}).pipe(me(n))},$r=/(\/?):(\w+)(\?)?/g,ei=e=>$r.test(e)?($r.lastIndex=0,t=>($r.lastIndex=0,e.replace($r,(e,n,r,i)=>{let a=t[r];if(a===void 0){if(i!==void 0)return``;throw Error(`Missing path parameter: ${r}`)}return`${n}${encodeURIComponent(a)}`}))):t=>e;function ti(e){let t=mt(hi(e));return e=>B(e.arrayBuffer,t)}function ni(e,t,n,r){let i=xt(n),a=e.get(t);a===void 0?e.set(t,[{contentType:i,decode:r}]):a.push({contentType:i,decode:r})}function ri(e){let t=e[0];return e.length===1&&t!==void 0?t.decode:t=>{let n=xt(t.headers[`content-type`]??``),r=e.find(e=>e.contentType===n);return r===void 0?ai(t,n,e):r.decode(t)}}function ii(e){let t=new Map;for(let n of e){let e=sn(n.ast)?``:xt(Jt(n.ast).contentType),r=t.get(e);r===void 0?t.set(e,[n]):r.push(n)}return t}function ai(e,t,r){let i=Array.from(new Set(r.map(e=>e.contentType))).join(`, `);return n(new dn({reason:new c({request:e.request,response:e,description:`Unsupported response content-type for status ${e.status}: ${t||`<missing>`}. Expected one of: ${i}`})}))}var oi=`effect/httpapi/stream/failure`;function si(e){let t=[];for(let n of e.success)Nt(n)&&t.push(n);return t}function ci(e){let t=jn(e)?void 0:{declaration:e,decoder:li(e)};return e=>zt(yt(),n=>tn(t===void 0?e.stream:ui(e.stream,t.declaration,t.decoder),n))}function li(e){return Ur(hr([b({event:p(oi),data:Ye($t(rr(e.error,ot())))}),e.events]))}function ui(e,t,n){let r=ur(e.pipe(Ht,Cn(n)),e=>ne(()=>{let t;return tt(()=>t===void 0?B(e,e=>{for(let n=0;n<e.length;n++){let r=e[n];if(r.event===oi&&pe(r.data)){if(n===0)return Gt(r.data);t=r.data,e=e.slice(0,n);break}}return W(e)}):Gt(t))}));return t.sseMode===`data`?Mn(r,e=>e.data):r}var di=t(globalThis.ArrayBuffer,{expected:`ArrayBuffer`}),fi=di.pipe(_(Se,ce({decode(e){return new Uint8Array(e)},encode(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}}))),pi=di.pipe(_(y,ce({decode(e){return new TextDecoder().decode(e)},encode(e){let t=new TextEncoder().encode(e);return t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}}))),mi=pi.pipe(_(hr([p(``).pipe(_(ke,ce({decode:()=>void 0,encode:()=>``}))),ee])));function hi(e){return hr(e.map(t));function t(e){switch(Jt(e.ast)._tag){case`Json`:{let t=ir(st(e.ast));return mi.pipe(_(e,t?ce({decode:e=>e===void 0?null:e,encode:e=>e===null?void 0:e}):void 0))}case`FormUrlEncoded`:return pi.pipe(_(gn),_(e));case`Uint8Array`:return fi.pipe(_(e));case`Text`:return pi.pipe(_(e))}}}var gi=e=>n(new dn({reason:new c({request:e.request,response:e})})),_i=ut(ar);function vi(e,t){return hr(e.map(e=>bi(e,t)))}var yi=new WeakMap;function bi(t,r){let a=t.ast,o=yi.get(a);if(o!==void 0)return o;let s=e(a,r),c=_i.pipe(_(t,oe({decode(e){return n(new un(Ft(e),{message:`Encode only schema`}))},encode(e){switch(s._tag){case`Multipart`:return n(new un(Ft(e),{message:`Payload must be a FormData`}));case`Json`:try{return W(ct(JSON.stringify(e),s.contentType))}catch(t){return n(new Ne(Ft(e),{message:globalThis.String(t)}))}case`Text`:return typeof e==`string`?W(ct(e,s.contentType)):n(new Ne(Ft(e),{message:`Expected a string`}));case`FormUrlEncoded`:return i(e)?W(se(Ve(e),s.contentType)):n(new Ne(Ft(e),{message:`Expected a record`}));case`Uint8Array`:return e instanceof Uint8Array?W(le(e,s.contentType)):n(new Ne(Ft(e),{message:`Expected a Uint8Array`}))}}})));return yi.set(a,c),c}var xi=y.check(H(),k(),I(512)),Si=y.check(H(),k(),I(200)),Ci=ht.pipe(_e(j(({hash:e,search:t})=>e.length===0&&t.length===0,{expected:`a provider endpoint URL without query parameters or fragments`}))),wi=o(b({providerImmutableId:xi,displayName:Si})),Ti=b({kind:S([`api`,`web`,`graphql`,`webhook`]),url:Ci,label:o(Si)});b({account:wi,workspace:wi,resource:Nn(wi).pipe(_(dr(wi),{decode:hn(W(null)),encode:Be()})),endpoints:w(Ti).check(j(e=>e.length<=20,{expected:`at most 20 safe provider endpoints`})),discoveredAt:v}).annotate({identifier:`PluginDiscoveryV1`});var Ei=(e,t)=>y.check(H(),k(),I(t)).pipe(ft(e)),Di=h.check(M(0)),Oi=h.check(z(0)),ki=1024*1024,Ai=4*Math.ceil(ki/3),ji=1024*1024,Mi=new TextEncoder,Ni=y.check(j(e=>Mi.encode(e).byteLength<=ji,{expected:`at most ${ji} UTF-8 log message bytes`})),Pi=b({entity:ue,executionId:Ei(`PluginPipelineExecutionId`,256),actionExecutionId:Ei(`PluginPipelineActionExecutionId`,256),expectedRevision:ve}),Fi=b({action:Pi,cursor:o(Ei(`PluginPipelineLogCursor`,4096)),limit:Oi.check(Mt(100))}),Ii=b({events:w(b({timestamp:v,ingestionTimestamp:o(v),message:Ni})).check(j(e=>e.length<=100,{expected:`at most 100 pipeline log events`}),j(e=>e.reduce((e,t)=>e+Mi.encode(t.message).byteLength,0)<=ji,{expected:`at most ${ji} UTF-8 log message bytes`})),nextCursor:o(Ei(`PluginPipelineLogCursor`,4096))}),Li=b({action:Pi,direction:S([`input`,`output`]),artifactName:Ei(`PluginPipelineArtifactName`,256),offset:Di,length:Oi.check(Mt(ki))});b({bytesBase64:y.check(I(Ai),qn(),j(e=>{let t=s(e);return Tn(t)&&t.success.byteLength<=ki},{expected:`at most ${ki} base64-decoded bytes`})),totalBytes:Di,contentType:p(`application/octet-stream`),filename:y.check(H(),k(),I(255),yn(/^[^"\\/\r\n]+$/u,{expected:`a safe attachment filename`}))});var Ri=b({pluginConnectionId:En,request:Fi}),zi=b({pluginConnectionId:En,request:Li}),Bi=[x,U,u,lr,it,m,f],Vi=Fn(`logs`,`/logs`,{payload:Ri,success:Ii,error:Bi}).middleware(L),Hi=qe({contentType:`application/octet-stream`}),Ui=Fn(`artifact`,`/artifact`,{payload:zi,success:[Hi,Hi.pipe(Gn(206)),Hi.pipe(Gn(416))],error:Bi}).middleware(L),Wi=class extends E(`codepipeline`).add(Vi).add(Ui).prefix(`/api/v1/codepipeline`){},Gi=(e,t)=>y.check(I(e)).annotate({identifier:t}),G=(e,t)=>Gi(e,t).check(H(),k()),K=(e,t)=>w(e).check(I(t)),Ki=G(512,`NormalizedIssueSourceObjectId`),qi=G(512,`NormalizedIssueSourcePersonId`),Ji=Gi(255,`NormalizedIssueShortText`),Yi=Gi(16e3,`NormalizedIssueRichText`),Xi=G(100,`NormalizedIssueTimestamp`),Zi=G(2048,`NormalizedIssueAvatarUrl`).check(j(e=>Tn(Te(ht)(e)),{expected:`an HTTP(S) source URL without embedded credentials`})),Qi=b({sourceId:o(Ki),name:o(Ji)}).annotate({identifier:`NormalizedIssueNamedValue`}),$i=b({sourceId:o(Ki),key:o(G(100,`NormalizedIssueProjectKey`)),name:o(Ji)}).annotate({identifier:`NormalizedIssueProject`}),ea=b({sourceId:o(Ki),name:o(Ji),released:d,releaseDate:o(Xi)}).annotate({identifier:`NormalizedIssueFixVersion`}),ta=b({sourceId:o(Ki),key:o(G(100,`NormalizedRelatedIssueKey`)),summary:o(Gi(500,`NormalizedRelatedIssueSummary`)),status:o(Qi)}).annotate({identifier:`NormalizedRelatedIssue`}),na=b({sourcePersonId:qi,displayName:G(200,`NormalizedIssueCollaboratorDisplayName`),avatarUrl:o(Zi),active:d,roles:K(G(100,`NormalizedIssueCollaboratorRole`),16).check(A())}).annotate({identifier:`NormalizedIssueCollaborator`}),ra=b({sourceId:Ki,authorSourcePersonId:o(qi),updateAuthorSourcePersonId:o(qi),body:o(Yi),createdAt:o(Xi),updatedAt:o(Xi)}).annotate({identifier:`NormalizedIssueComment`}),ia=b({field:G(255,`NormalizedIssueHistoryField`),from:o(Gi(1e3,`NormalizedIssueHistoryValue`)),to:o(Gi(1e3,`NormalizedIssueHistoryValue`))}).annotate({identifier:`NormalizedIssueHistoryChange`}),aa=b({sourceId:Ki,authorSourcePersonId:o(qi),createdAt:o(Xi),changes:K(ia,100)}).annotate({identifier:`NormalizedIssueHistoryEntry`}),oa=S([`acceptanceCriteria`,`collaborators`,`comments`,`components`,`description`,`environment`,`fixVersions`,`history`,`issueType`,`key`,`labels`,`parent`,`priority`,`project`,`resolution`,`summary`,`status`,`subtasks`,`updatedAt`,`createdAt`,`dueDate`,`resolvedAt`]),sa=b({key:G(100,`NormalizedIssueKey`),status:G(100,`NormalizedIssueStatus`),priority:o(G(100,`NormalizedIssuePriority`)),estimatePoints:o(ln.check(M(0))),summary:P(Gi(500,`NormalizedIssueSummary`)),description:P(o(Yi)),acceptanceCriteria:P(o(Yi)),environment:P(o(Yi)),issueType:P(o(Qi)),project:P(o($i)),resolution:P(o(Qi)),labels:P(K(G(255,`NormalizedIssueLabel`),200)),components:P(K(Qi,100)),fixVersions:P(K(ea,99)),createdAt:P(o(Xi)),updatedAt:P(o(Xi)),dueDate:P(o(Xi)),resolvedAt:P(o(Xi)),parent:P(o(ta)),subtasks:P(K(ta,200)),assigneeSourcePersonId:P(o(qi)),reporterSourcePersonId:P(o(qi)),creatorSourcePersonId:P(o(qi)),collaborators:P(K(na,200)),comments:P(K(ra,200)),commentTotal:P(h.check(M(0))),commentsTruncated:P(d),commentBodiesTruncated:P(d),history:P(K(aa,200)),historyTotal:P(h.check(M(0))),historyTruncated:P(d),truncatedFields:P(K(oa,32).check(A()))}).annotate({identifier:`NormalizedIssueAttributes`}),ca=(e,t)=>y.check(H(),k(),I(e)).annotate({identifier:t}),la=b({representation:p(`safe-markdown`),markdown:y.check(I(262144))}),ua=b({number:h.check(z(0)),createdAt:v,message:o(y.check(I(2e3))),minorEdit:d,authorSourcePersonId:o(ca(512,`PageVersionAuthorSourcePersonId`))}),da=b({sourcePersonId:ca(512,`PageContributorSourcePersonId`),displayName:ca(200,`PageContributorDisplayName`),active:d,external:d,resolved:d,roles:w(S([`owner`,`author`,`contributor`,`watcher`])).check(k(),A())}),fa=b({id:ca(512,`PageAttachmentId`),title:ca(500,`PageAttachmentTitle`),createdAt:v,mediaType:o(y.check(H(),I(255))),fileSize:o(h.check(M(0))),version:o(h.check(z(0)))}),pa=b({complete:d,pagesFetched:h.check(Dn({minimum:0,maximum:5}))}),ma=b({sourceSpaceId:P(ca(512,`PageSourceSpaceId`)),parentSourceId:P(o(ca(512,`PageParentSourceId`))),createdAt:P(v),updatedAt:P(v),content:P(o(la)),contentState:P(S([`loaded`,`lazy`])),taskUpdatesSafe:P(d),versions:P(w(ua).check(I(500))),versionHistory:P(pa),contributors:P(w(da).check(I(502))),attachments:P(w(fa).check(I(50))),attachmentInventory:P(pa),watcherInventory:P(pa)}),q=(e,t)=>y.check(H(),k(),I(e)).annotate({identifier:t}),ha=S([`issue`,`pull-request`,`page`,`pipeline-execution`,`deployment`,`time-entry`]),ga=S([`jira`,`codecommit`,`confluence`,`codepipeline`,`clockify`]),_a=S([`active`,`done`,`failed`]),va=hr([ha,S([`release`,`environment`])]),J=h.check(z(0)).pipe(ft(`LedgerRevision`)),ya=We(`issue`,{...sa.fields}),ba=We(`pull-request`,{repository:q(200,`RepositoryName`),sourceBranch:q(500,`SourceBranch`),targetBranch:q(500,`TargetBranch`),headRevision:q(512,`HeadRevision`),reviewState:S([`not-requested`,`requested`,`changes-requested`,`approved`,`merged`]),lifecycle:P(o(S([`open`,`closed`,`merged`]))),description:P(o(y.check(I(5e4)))),authorReference:P(o(q(512,`PullRequestAuthorReference`))),baseRevision:P(o(q(512,`BaseRevision`))),mergeBaseRevision:P(o(q(512,`MergeBaseRevision`))),createdAt:P(o(q(64,`PullRequestCreatedAt`))),updatedAt:P(o(q(64,`PullRequestUpdatedAt`)))}),xa=We(`page`,{...ma.fields,spaceKey:q(100,`SpaceKey`),revision:q(512,`PageRevision`),status:S([`draft`,`current`,`superseded`]),linkedIssueKeys:Nn(w(q(100,`LinkedIssueKey`)).check(A(),I(100))),linkedReleaseVersions:Nn(w(q(100,`LinkedReleaseVersion`)).check(A(),I(100)))}),Sa=S([`queued`,`running`,`succeeded`,`failed`,`stopped`]),Ca=b({actionName:q(200,`PipelineSourceActionName`),revisionId:o(q(512,`PipelineSourceRevisionId`)),revisionSummary:o(q(500,`PipelineSourceRevisionSummary`))}),wa=b({name:q(200,`PipelineStageName`),status:Sa,actionCount:h.check(M(0)),actionsTruncated:d}),Ta=b({name:q(200,`PipelineActionArtifactName`),direction:S([`input`,`output`]),access:p(`proxy-required`)}),Ea=b({actionExecutionId:q(512,`PipelineActionExecutionId`),stageName:q(200,`PipelineActionStageName`),actionName:q(200,`PipelineActionName`),status:Sa,startedAt:o(v),updatedAt:o(v),updatedBy:o(q(512,`PipelineActionActor`)),category:o(q(100,`PipelineActionCategory`)),provider:o(q(100,`PipelineActionProvider`)),owner:o(q(100,`PipelineActionOwner`)),version:o(q(100,`PipelineActionVersion`)),region:o(q(100,`PipelineActionRegion`)),externalExecutionSummary:o(q(500,`PipelineExternalExecutionSummary`)),errorCode:o(q(200,`PipelineActionErrorCode`)),errorMessage:o(q(500,`PipelineActionErrorMessage`)),artifacts:w(Ta).check(I(100))}),Da=b({name:q(200,`PipelineSourceArtifactName`),revisionId:o(q(512,`PipelineSourceArtifactRevisionId`)),revisionSummary:o(q(500,`PipelineSourceArtifactRevisionSummary`)),createdAt:o(v),access:p(`proxy-required`)}),Oa=hr([ya,ba,xa,We(`pipeline-execution`,{pipelineName:q(200,`PipelineName`),executionId:q(512,`PipelineExecutionId`),status:Sa,triggerRevision:q(512,`PipelineTriggerRevision`),pipelineVersion:P(o(h.check(z(0)))),statusSummary:P(o(q(500,`PipelineStatusSummary`))),startedAt:P(o(v)),updatedAt:P(o(v)),triggerType:P(o(q(100,`PipelineTriggerType`))),triggerDetail:P(o(q(500,`PipelineTriggerDetail`))),executionMode:P(o(q(100,`PipelineExecutionMode`))),executionType:P(o(q(100,`PipelineExecutionType`))),rollbackTargetExecutionId:P(o(q(512,`PipelineRollbackTargetExecutionId`))),sourceRevisions:P(w(Ca).check(j(e=>new Set(e.map(e=>e.actionName)).size===e.length,{expected:`unique pipeline source action names`}),I(100))),stages:P(w(wa).check(j(e=>new Set(e.map(e=>e.name)).size===e.length,{expected:`unique pipeline stage names`}),I(100))),actions:P(w(Ea).check(j(e=>new Set(e.map(e=>e.actionExecutionId)).size===e.length,{expected:`unique pipeline action execution identifiers`}),I(200))),actionCount:P(h.check(M(0))),actionsTruncated:P(d),actionPagesRead:P(h.check(Dn({minimum:0,maximum:5}))),sourceArtifacts:P(w(Da).check(I(100)))}),We(`deployment`,{environmentId:D,revision:q(512,`DeploymentRevision`),status:S([`pending`,`deploying`,`succeeded`,`failed`,`rolled-back`])}),We(`time-entry`,{durationMinutes:h.check(M(0)),billable:d,approvalState:S([`pending`,`approved`,`rejected`,`not-required`]),locked:P(d),description:P(o(q(4e3,`ClockifyTimeEntryDescription`))),projectId:P(o(q(512,`ClockifyProjectId`))),userId:P(q(512,`ClockifyUserId`)),startedAt:P(v),endedAt:P(o(v))})]).pipe(tr(`_tag`)),ka=b({workspaceId:N,entityId:Ee,projectionRevision:J,sourceEntityRevision:J,supersedesProjectionRevision:o(J),projectionSchemaVersion:h.check(z(0)),entityState:S([`present`,`deleted`]),entityType:ha,displayKey:q(200,`EntityDisplayKey`),title:q(500,`EntityTitle`),details:Oa}).check(j(({details:e,entityType:t})=>e._tag===t,{expected:`entity details whose tag matches the entity kind`}),j(({projectionRevision:e,supersedesProjectionRevision:t})=>e===1?t===null:t===e-1,{expected:`entity projection to supersede its exact preceding revision`})),Aa=b({workspaceId:N,nodeId:Kt,endpointKind:va,resolution:g({resolved:{target:g({entity:{entityId:Ee,entityKind:ha},environment:{environmentId:D,releaseId:F},release:{releaseId:F}})},missing:{expectedKind:S([`entity`,`release`,`environment`]),expectedEntityKind:o(ha),missingKey:q(512,`MissingDeliveryNodeKey`)}}),createdAt:v}).check(j(({resolution:e})=>e._tag!==`missing`||e.expectedKind===`entity`==(e.expectedEntityKind!==null),{expected:`only missing entity nodes to carry an expected entity kind`}),j(({endpointKind:e,resolution:t})=>t._tag===`missing`?t.expectedKind===`entity`?e===t.expectedEntityKind:e===t.expectedKind:t.target._tag===`entity`?e===t.target.entityKind:e===t.target._tag,{expected:`graph node endpoint kind to match its resolved or expected target kind`})),ja=S([`contains`,`implements`,`depends-on`,`verified-by`,`delivered-by`,`documented-by`,`tracks-time-for`]),Ma=[`issue`,`pull-request`,`page`,`pipeline-execution`,`deployment`,`time-entry`,`release`,`environment`],Na={contains:{source:[`release`],target:[`issue`,`pull-request`,`page`,`pipeline-execution`,`deployment`,`time-entry`]},implements:{source:[`pull-request`],target:[`issue`]},"depends-on":{source:Ma,target:Ma},"verified-by":{source:[`pull-request`],target:[`pipeline-execution`]},"delivered-by":{source:[`pull-request`],target:[`pipeline-execution`]},"documented-by":{source:[`issue`,`release`],target:[`page`]},"tracks-time-for":{source:[`time-entry`],target:[`issue`]}},Pa=(e,t,n)=>{let r=Na[e];return r.source.some(e=>e===t)&&r.target.some(e=>e===n)},Fa=g({unknown:{rationale:q(1e3,`UnknownRelationshipConfidenceRationale`)},confirmed:{},inferred:{score:ln.check(Dn({minimum:0,maximum:1})),rationale:q(1e3,`RelationshipConfidenceRationale`)}}),Ia=g({plugin:{pluginConnectionId:En,sourceEntityId:Ee,sourceEntityRevision:J},human:{personId:V,rationale:q(1e3,`HumanRelationshipRationale`)},agent:{agentId:Rn,rationale:q(1e3,`AgentRelationshipRationale`)},rule:{ruleId:q(200,`RelationshipRuleId`),ruleVersion:h.check(z(0)),rationale:q(1e3,`RuleRelationshipRationale`)}}),La=g({missing:{effectiveAt:v,reason:q(1e3,`MissingRelationshipReason`)},inferred:{effectiveAt:v},proposed:{effectiveAt:v},verified:{effectiveAt:v},governed:{effectiveAt:v},rejected:{effectiveAt:v,reason:q(1e3,`RejectionReason`)},superseded:{effectiveAt:v,reason:q(1e3,`SupersessionReason`)}}),Ra=o(g({release:{releaseId:F},environment:{releaseId:F,environmentId:D}})),za=g({human:{personId:V},agent:{agentId:Rn},system:{component:q(200,`LedgerSystemComponent`)}}),Ba=b({workspaceId:N,relationshipId:R,relationshipSchemaVersion:p(1),revision:J,supersedesRevision:o(J),kind:ja,sourceNodeId:Kt,sourceNodeKind:va,targetNodeId:Kt,targetNodeKind:va,scope:Ra,lifecycle:La,confidence:Fa,provenance:Ia,recordedBy:za,evidenceClaimIds:w(Et).check(I(128)),recordedAt:v}).check(j(({evidenceClaimIds:e})=>new Set(e).size===e.length,{expected:`relationship evidence references to be unique`}),j(({confidence:e,evidenceClaimIds:t})=>e._tag!==`confirmed`||t.length>0,{expected:`confirmed relationship confidence to reference immutable evidence`}),j(({sourceNodeId:e,targetNodeId:t})=>e!==t,{expected:`relationship source and target to differ`}),j(({kind:e,sourceNodeKind:t,targetNodeKind:n})=>Pa(e,t,n),{expected:`relationship endpoints to follow the canonical version-one direction matrix`}),j(({kind:e,scope:t})=>e!==`contains`||t!==null,{expected:`release containment to carry an explicit release or environment scope`}),j(({confidence:e,lifecycle:t})=>t._tag!==`inferred`||e._tag!==`confirmed`,{expected:`an inferred relationship lifecycle not to claim confirmed confidence`}),j(({revision:e,supersedesRevision:t})=>e===1?t===null:t===e-1,{expected:`relationship to supersede its exact preceding revision`})),Va=S([`relationship-observed`,`status-observed`,`approval-recorded`,`check-observed`,`execution-observed`,`deployment-observed`,`documentation-observed`,`time-observed`]),Ha=g({flag:{value:d},state:{value:q(500,`EvidenceState`)},revision:{value:q(512,`EvidenceRevision`)},reference:{targetNodeId:Kt}}),Ua=g({plugin:{pluginConnectionId:En,sourceEntityId:Ee,sourceEntityRevision:J},human:{personId:V},agent:{agentId:Rn},system:{component:q(200,`EvidenceSystemComponent`)}}),Wa=b({classification:S([`audit`,`evidence`,`normalized-cache`]),retainUntil:o(v),legalHold:d}),Ga=g({human:{personId:V},agent:{agentId:Rn},system:{component:q(200,`EvidenceVerifierComponent`)}}),Ka=b({workspaceId:N,evidenceId:Xe,schemaVersion:h.check(z(0)),attribution:Ua,verifier:Ga,observedAt:v,recordedAt:v,validUntil:o(v),freshness:$n,retention:Wa}).check(j(({attribution:e,freshness:t})=>e._tag!==`plugin`||t.provenance._tag!==`none`&&e.pluginConnectionId===t.provenance.sourceRevision.pluginConnectionId,{expected:`plugin evidence attribution to carry its exact freshness source revision`}),j(({observedAt:e,recordedAt:t})=>Ge(e,t)<=0,{expected:`evidence observation time not to follow recording time`}),j(({observedAt:e,validUntil:t})=>t===null||Ge(e,t)<0,{expected:`evidence validity to end after observation`}),j(({recordedAt:e,retention:t})=>t.retainUntil===null||Ge(e,t.retainUntil)<=0,{expected:`evidence retention not to end before recording`})),qa=b({workspaceId:N,evidenceClaimId:Et,evidenceId:Xe,subjectNodeId:Kt,predicate:Va,value:Ha,recordedAt:v,supersedesEvidenceClaimId:o(Et)}).check(j(({evidenceClaimId:e,supersedesEvidenceClaimId:t})=>e!==t,{expected:`evidence not to supersede itself`})),Ja=S([`link`,`verify`,`reject`]),Ya=y.check(H(),k(),I(1e3)).annotate({identifier:`RelationshipRepairRationale`}),Xa=b({actor:Oe,sessionId:Un}),Za=S([`approved`,`rejected`]),Qa=b({reviewId:jt,decision:Za,rationale:Ya,origin:Xa,reviewedAt:v}).annotate({identifier:`RelationshipRepairReview`}),$a=b({proposalId:on,relationshipId:R,appliedRevision:J,origin:Xa,appliedAt:v}).annotate({identifier:`RelationshipRepairApplication`}),Y=b({schemaVersion:p(2),proposalId:on,workspaceId:N,releaseId:F,environmentId:o(D),relationshipId:R,expectedRevision:J,disposition:Ja,rationale:Ya,origin:Xa,status:S([`pending`,`approved`,`rejected`]),proposedAt:v,review:o(Qa)}).annotate({identifier:`RelationshipRepairProposal`}),eo=S([`agent`,`human`,`plugin`,`system`]),to=S([`action`,`plugin-sync`,`relationship`,`system`]),no=S([`codecommit`,`codepipeline`,`jira`,`confluence`,`clockify`]),ro=b({eventKey:y.check(k(),I(1024)),occurredAt:v}).annotate({identifier:`TimelineCursor`}),io=b({eventKey:ro.fields.eventKey,occurredAt:v,actor:b({kind:eo,label:y.check(H(),k(),I(200))}),sourceKind:to,service:o(no),eventType:y.check(H(),k(),I(200)),title:y.check(H(),k(),I(300)),href:o(y.check(k(),I(2048)))}).annotate({identifier:`TimelineEvent`}),ao=y.check(k(),I(2048)),oo=b({event:io,identifiers:b({actorId:o(ao),actionId:o(ao),relationshipId:o(ao),pluginConnectionId:o(ao),releaseId:o(ao),entityId:o(ao)}).annotate({identifier:`TimelineEventIdentifiers`}),agentJob:o(b({jobId:ao}).annotate({identifier:`TimelineAgentJobDetail`}))}).annotate({identifier:`TimelineEventDetail`}),so=b({events:w(io).check(j(e=>e.length<=100,{expected:`at most 100 Timeline events`})),nextCursor:o(ro)}).annotate({identifier:`TimelinePage`}),co=200,lo=200,X=(e,t)=>w(e).check(I(t)),uo=b({projection:ka,recordedAt:v}).annotate({identifier:`InspectedEntityProjection`}),fo=b({releaseId:F,environmentId:o(D),truncated:d,nodes:X(Aa,500),entityProjections:X(uo,500),relationships:X(Ba,500),evidenceClaims:X(qa,500),evidenceItems:X(Ka,500)}).annotate({identifier:`ReleaseDeliveryGraphInspection`}),po=w(F).check(A(),I(500),j(e=>e.every((t,n)=>{let r=e[n-1];return n===0||r!==void 0&&r<t}),{expected:`sorted workspace entity release identifiers`})),mo=b({avatarFallback:y.check(H(),k(),I(4)),displayName:y.check(H(),k(),I(200)),personId:V,roles:X(pr,16).check(Wn(1)),sourceIdentities:P(X(Ze,16))}).annotate({identifier:`WorkspaceEntityOwner`}),ho=X(mo,20),go=X(mo,200),_o=b({canonicalReleaseId:o(F),owners:ho,ownersTruncated:d,releaseIds:po,releaseMembershipsTruncated:d,projection:ka,recordedAt:v}).check(j(({canonicalReleaseId:e,releaseIds:t})=>e===(t[0]??null),{expected:`canonical release identifier to be the first current release membership`}),j(({releaseIds:e,releaseMembershipsTruncated:t})=>!t||e.length===500,{expected:`truncated workspace release memberships to contain the complete bounded prefix`}),j(({owners:e,ownersTruncated:t})=>!t||e.length===20,{expected:`truncated workspace owners to contain the complete bounded prefix`})).annotate({identifier:`WorkspaceEntityProjection`}),vo=b({matchedCount:h.check(M(0)),ownerOptions:go,ownerOptionsTruncated:d,totalCount:h.check(M(0)),truncated:d,items:X(_o,500)}).check(j(({ownerOptions:e,ownerOptionsTruncated:t})=>!t||e.length===200,{expected:`truncated workspace owner options to contain the complete bounded prefix`})).annotate({identifier:`WorkspaceEntityProjectionIndex`}),yo=b({truncated:d,nodes:X(Aa,200),relatedEntityProjections:X(uo,100),relationships:X(Ba,100),evidenceClaims:X(qa,200),evidenceItems:X(Ka,200)}).annotate({identifier:`WorkspaceEntityGraph`}),bo=b({truncated:d,events:X(io,20)}).annotate({identifier:`WorkspaceEntityActivity`}),xo=b({actionId:r,decision:S([`approved`,`rejected`]),rationale:y.check(H(),k(),I(1e3)),decidedAt:v}).annotate({identifier:`ClockifyApproval`}),So=b({entity:_o,source:dt,isSourceCurrent:d,sourceActionsAvailable:d.pipe(It(W(!1))),sourceSynchronizationAvailable:d.pipe(It(W(!1))),freshness:o($n),clockifyApproval:o(xo).pipe(It(W(null))),graph:yo,activity:bo}).annotate({identifier:`WorkspaceEntityInspection`}),Co=b({relationshipId:R,revisions:X(Ba,co)}).annotate({identifier:`RelationshipHistoryInspection`}),wo=b({evidence:Ka,claims:X(qa,lo)}).annotate({identifier:`EvidenceInspection`}),To=b({relationship:Ba,suggestedDisposition:S([`link`,`verify`,`reject`]),explanation:y.check(H(),k(),I(1e3)),impact:b({releaseId:F,environmentId:o(D)}),requiredPermission:p(`workspace-owner`)}).annotate({identifier:`RelationshipRepairCandidate`}),Eo=b({releaseId:F,environmentId:o(D),truncated:d,candidates:X(To,500)}).annotate({identifier:`RelationshipRepairCandidates`}),Do=b({candidate:To,precondition:b({relationshipId:R,expectedRevision:J}),proposal:b({disposition:S([`link`,`verify`,`reject`]),rationale:y.check(H(),k(),I(1e3))})}).annotate({identifier:`RelationshipRepairProposalDraft`}),Oo=b({proposalId:Y.fields.proposalId,environmentId:Y.fields.environmentId,expectedRevision:Y.fields.expectedRevision,disposition:Ja,rationale:Ya}).annotate({identifier:`CreateRelationshipRepairProposalRequest`}),ko=b({releaseId:F,environmentId:o(D),status:o(Y.fields.status),truncated:d,proposals:X(Y,128),applications:X($a,128)}).annotate({identifier:`RelationshipRepairProposalList`}),Ao=b({reviewId:jt,decision:Za,rationale:Ya}).annotate({identifier:`ReviewRelationshipRepairProposalRequest`}),jo=b({application:$a,relationship:Ba}).annotate({identifier:`ApplyRelationshipRepairProposalResponse`}),Z=[x,U,u,m,f],Mo=T(`releaseSlice`,`/api/v1/relationships/releases/:releaseId`,{params:{releaseId:F},query:{environmentId:P(D)},success:fo,error:Z}).middleware(L),No=T(`workspaceEntityProjections`,`/api/v1/items`,{query:{q:P(y.check(H(),k(),I(200))),owner:P(V),service:P(ga),status:P(_a),type:P(ha)},success:vo,error:Z}).middleware(L),Po=T(`workspaceEntity`,`/api/v1/items/:entityId`,{params:{entityId:Ee},success:So,error:Z}).middleware(L),Fo=g({"correct-association":{expectedRevision:ve,jiraIssueKey:y.check(H(),yn(/^[A-Z][A-Z0-9]*-[1-9][0-9]*$/u),I(100))},"record-approval":{expectedRevision:ve,decision:S([`approved`,`rejected`]),rationale:y.check(H(),k(),I(1e3))}}),Io=b({actionId:r,state:Fe}),Lo=Fn(`submitClockifyAction`,`/api/v1/items/:entityId/clockify-actions`,{params:{entityId:Ee},payload:Fo,success:Io,error:[...Z,C,lr]}).middleware(L).middleware(xn),Ro=T(`relationship`,`/api/v1/relationships/:relationshipId`,{params:{relationshipId:R},query:{revision:P(rn.pipe(_(J)))},success:Ba,error:Z}).middleware(L),zo=T(`repairCandidates`,`/api/v1/relationships/releases/:releaseId/repair-candidates`,{params:{releaseId:F},query:{environmentId:P(D)},success:Eo,error:Z}).middleware(L),Bo=T(`repairProposalDraft`,`/api/v1/relationships/releases/:releaseId/repair-candidates/:relationshipId/proposal-draft`,{params:{releaseId:F,relationshipId:R},query:{environmentId:P(D),revision:rn.pipe(_(J))},success:Do,error:Z}).middleware(L),Vo=Fn(`createRepairProposal`,`/api/v1/relationships/releases/:releaseId/repair-candidates/:relationshipId/proposals`,{params:{releaseId:F,relationshipId:R},payload:Oo,success:Y,error:[...Z,C,lr,nr]}).middleware(L).middleware(xn),Ho=T(`listRepairProposals`,`/api/v1/relationships/releases/:releaseId/repair-proposals`,{params:{releaseId:F},query:{environmentId:P(D),status:P(Y.fields.status)},success:ko,error:Z}).middleware(L),Uo=T(`getRepairProposal`,`/api/v1/relationships/repair-proposals/:proposalId`,{params:{proposalId:on},success:Y,error:Z}).middleware(L),Wo=Fn(`reviewRepairProposal`,`/api/v1/relationships/repair-proposals/:proposalId/reviews`,{params:{proposalId:on},payload:Ao,success:Y,error:[...Z,C,lr,nr]}).middleware(L).middleware(xn),Go=Fn(`applyRepairProposal`,`/api/v1/relationships/repair-proposals/:proposalId/applications`,{params:{proposalId:on},success:jo,error:[...Z,C,lr]}).middleware(L).middleware(xn),Ko=T(`relationshipHistory`,`/api/v1/relationships/:relationshipId/history`,{params:{relationshipId:R},success:Co,error:Z}).middleware(L),qo=T(`evidence`,`/api/v1/evidence/:evidenceId`,{params:{evidenceId:Xe},success:wo,error:Z}).middleware(L),Jo=class extends E(`deliveryGraph`).add(No,Po,Lo,Mo,zo,Bo,Vo,Ho,Uo,Wo,Go,Ro,Ko,qo){},Yo=500,Xo=y.check(yn(/^sha256:[0-9a-f]{64}$/u,{expected:`a lowercase SHA-256 diff-file anchor`})).pipe(ft(`DiffFileAnchor`)),Zo=b({entries:w(b({...He.fields,anchor:Xo}).annotate({identifier:`CompleteDiffInventoryEntry`})).check(j(e=>e.length<=Yo,{expected:`at most ${Yo} changed files`})),ready:p(!0)}).annotate({identifier:`CompleteDiffInventory`}),Qo=h.pipe(_e(M(0)),_e(Mt(1048576))),$o=h.pipe(_e(Dn({minimum:1,maximum:1048576}))),es=He.fields.path,ts=b({bytesBase64:o(y.check(I(1398104))),totalBytes:o(h.check(M(0))),unavailableReason:o(S([`binary`,`generated`,`oversized`,`missing`,`provider-unavailable`]))}).check(j(({bytesBase64:e,totalBytes:t,unavailableReason:n})=>n===null?e!==null&&t!==null:e===null,{expected:`available bounded content or an explicit unavailable reason`})).annotate({identifier:`CompleteDiffContentRange`}),ns=[C,x,U,u,lr,it,m,f],rs=T(`inventory`,`/:pluginConnectionId/pull-requests/:vendorImmutableId/inventory`,{params:b({pluginConnectionId:En,vendorImmutableId:he}),query:b({revision:ve}),success:Zo,error:ns}).middleware(L),is=b({revision:ve,anchor:Xo,path:es,previousPath:o(es),status:He.fields.status,side:S([`before`,`after`]),offset:Qo,length:$o}).annotate({identifier:`CompleteDiffContentRequest`}),as=Fn(`content`,`/:pluginConnectionId/pull-requests/:vendorImmutableId/content`,{params:b({pluginConnectionId:En,vendorImmutableId:he}),payload:is,success:ts,error:[...ns,nr]}).middleware(L),os=class extends E(`diff`).add(rs).add(as).prefix(`/api/v1/diffs`){},ss=rn.pipe(_(bt)),cs=b({reason:S([`retention`,`cursor-ahead`,`gap`,`replay-budget`]),requestedCursor:bt,headCursor:bt,prunedThroughCursor:bt}).annotate({identifier:`StreamResetRequired`}),ls=b({eventCursor:bt,sentAt:v}).annotate({identifier:`StreamHeartbeat`}),us=hr([b({id:ss,event:p(`portfolio.snapshot`),data:Ye(kn)}).annotate({identifier:`PortfolioSnapshotLiveEvent`}),b({id:ss,event:p(`portfolio.invalidated`),data:Ye(ye)}).annotate({identifier:`PortfolioInvalidatedLiveEvent`}),b({id:P(ke),event:p(`stream.reset-required`),data:Ye(cs)}).annotate({identifier:`StreamResetRequiredLiveEvent`}),b({id:P(ke),event:p(`stream.heartbeat`),data:Ye(ls)}).annotate({identifier:`StreamHeartbeatLiveEvent`})]).annotate({identifier:`ControlCenterLiveEvent`}),ds=T(`stream`,`/api/v1/events`,{query:{after:P(ss)},headers:{"last-event-id":P(ss)},success:Ct({events:us}),error:[C,x,U,it,m,f]}).middleware(L),fs=class extends E(`liveEvents`).add(ds){},ps=y.check(yn(/^media_[0-9a-f]{64}$/u,{expected:`an opaque SHA-256 media identifier`})).pipe(ft(`OpaqueMediaId`));b({"x-correlation-id":Pt,"content-type":S([`image/avif`,`image/jpeg`,`image/png`,`image/webp`]),"content-length":rn,"cache-control":p(`private, no-store`),"x-content-type-options":p(`nosniff`)}).annotate({identifier:`MediaResponseHeaders`});var ms=T(`read`,`/:mediaId`,{params:b({mediaId:ps}),success:qe({contentType:`application/octet-stream`}),error:[x,U,u,m,f]}).middleware(L),hs=class extends E(`media`).add(ms).prefix(`/api/v1/media`){},gs=b({shareId:Bt,entityId:Ee,granteePersonId:V,expiresAt:v}),_s=b({shareId:Bt,entityId:Ee,granteePersonId:V,createdAt:v,expiresAt:v,revokedAt:o(v)}).annotate({identifier:`AuthorizedShareSummary`}),vs=b({share:_s,item:uo}).annotate({identifier:`AuthorizedShareResolution`}),ys=[x,U,m,f],bs=Fn(`create`,`/`,{payload:gs,success:_s,error:[...ys,C,u,lr]}).middleware(L).middleware(xn),xs=T(`resolve`,`/:workspaceId/:shareId`,{params:b({workspaceId:N,shareId:Bt}),success:vs,error:[...ys,u]}).middleware(L),Ss=ge(`revoke`,`/:workspaceId/:shareId`,{params:b({workspaceId:N,shareId:Bt}),success:gt,error:[...ys,u]}).middleware(L).middleware(xn),Cs=class extends E(`shares`).add(bs,xs,Ss).prefix(`/api/v1/shares`){},ws=rn.pipe(_e(M(1),Mt(100))),Ts=rn.pipe(_e(M(1),Mt(1e3))),Es=S([`application/json; charset=utf-8`,`text/csv; charset=utf-8`]);b({"cache-control":p(`private, no-store`),"content-disposition":S([`attachment; filename="timeline-export.csv"`,`attachment; filename="timeline-export.json"`]),"content-type":Es,"x-content-type-options":p(`nosniff`),"x-timeline-export-count":rn,"x-timeline-export-limit":Ts,"x-timeline-export-truncated":S([`false`,`true`])}).annotate({identifier:`TimelineExportResponseHeaders`});var Ds={actor:P(eo),from:P(v),limit:Ts,to:P(v)},Os=[C,x,U,m,f],ks=T(`page`,`/api/v1/timeline`,{query:{actor:P(eo),beforeEventKey:P(y.check(k(),I(1024))),beforeOccurredAt:P(v),from:P(v),limit:P(ws),to:P(v)},success:so,error:Os}).middleware(L),As=T(`detail`,`/api/v1/timeline/events/:eventKey`,{params:{eventKey:ro.fields.eventKey},success:oo,error:[C,x,U,u,m,f]}).middleware(L),js=T(`exportCsv`,`/api/v1/timeline/export.csv`,{query:Ds,success:qe({contentType:`text/csv; charset=utf-8`}),error:Os}).middleware(L),Ms=T(`exportJson`,`/api/v1/timeline/export.json`,{query:Ds,success:qe({contentType:`application/json; charset=utf-8`}),error:Os}).middleware(L),Ns=class extends E(`timeline`).add(ks).add(As).add(js).add(Ms){},Q=(e,t)=>h.check(Dn({minimum:e,maximum:t})),Ps=y.check(H(),k(),I(200),yn(/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/u,{expected:`a bounded agent model identifier`})),Fs=j(e=>e.every((t,n)=>n===0||(e[n-1]??``)<t),{expected:`values in canonical ascending order`}),Is=S([`agent`,`inference`,`investigation`,`jira`,`pipeline`,`presentation`,`retention`,`synchronization`]);w(Is).check(A(),Fs,j(e=>e.length<=8,{expected:`at most eight workspace settings sections`}));var Ls=S([`agent`,`jira`,`pipeline`,`retention`]),Rs=w(Ls).check(A(),Fs,j(e=>e.length<=4,{expected:`at most four governed settings sections`})),$=b({schemaVersion:p(1),inference:b({enabled:d,minimumConfidencePercent:Q(0,100)}),synchronization:b({cadence:S([`manual`,`interval`]),intervalMinutes:o(Q(5,10080)),staleAfterMinutes:Q(5,43200)}).check(j(({cadence:e,intervalMinutes:t})=>e===`manual`?t===null:t!==null,{expected:`an interval only for interval synchronization`})),retention:b({evidenceDays:Q(1,3650),contentDays:Q(1,3650),auditDays:Q(1,3650),agentActivityDays:Q(1,365),sandboxArtifactDays:Q(1,30)}).check(j(({auditDays:e,evidenceDays:t})=>e>=t,{expected:`audit retention not shorter than evidence retention`}),j(({agentActivityDays:e,sandboxArtifactDays:t})=>e>=t,{expected:`agent activity retention not shorter than sandbox artifact retention`})),investigation:b({mode:S([`manual`,`automatic`]),consecutiveFailureThreshold:Q(1,20)}),jira:b({commentMode:S([`manual-only`,`confirm-before-publish`]),includeControlCenterAttribution:d}),pipeline:b({retryMode:S([`manual-only`,`confirm-before-retry`]),maximumAttempts:Q(1,10)}),agent:b({allowedProviders:w(l).check(A(),Fs,j(e=>e.length<=16,{expected:`at most sixteen allowed agent providers`})),defaultProvider:o(l),defaultModel:o(Ps),toolPolicy:S([`read-only`,`review-sandbox`]),profilePolicy:S([`isolated`,`local-profile`])}).check(j(({allowedProviders:e,defaultProvider:t})=>t===null||e.includes(t),{expected:`the default agent provider to be allowed`}),j(({defaultModel:e,defaultProvider:t})=>e===null||t!==null,{expected:`a default provider when a default model is configured`})),presentation:b({density:S([`comfortable`,`compact`]),defaultLanding:S([`overview`,`active-work`])})}).annotate({identifier:`WorkspaceSettingsV1`});$.make({schemaVersion:1,inference:{enabled:!0,minimumConfidencePercent:80},synchronization:{cadence:`manual`,intervalMinutes:null,staleAfterMinutes:1440},retention:{evidenceDays:365,contentDays:90,auditDays:365,agentActivityDays:30,sandboxArtifactDays:7},investigation:{mode:`manual`,consecutiveFailureThreshold:3},jira:{commentMode:`manual-only`,includeControlCenterAttribution:!0},pipeline:{retryMode:`manual-only`,maximumAttempts:1},agent:{allowedProviders:[],defaultProvider:null,defaultModel:null,toolPolicy:`read-only`,profilePolicy:`isolated`},presentation:{density:`comfortable`,defaultLanding:`overview`}});var zs=O($.fields.agent),Bs=O($.fields.inference),Vs=O($.fields.investigation),Hs=O($.fields.jira),Us=O($.fields.pipeline),Ws=O($.fields.presentation),Gs=O($.fields.retention),Ks=O($.fields.synchronization),qs=Is.literals,Js=(e,t,n)=>{switch(e){case`agent`:return!zs(t.agent,n.agent);case`inference`:return!Bs(t.inference,n.inference);case`investigation`:return!Vs(t.investigation,n.investigation);case`jira`:return!Hs(t.jira,n.jira);case`pipeline`:return!Us(t.pipeline,n.pipeline);case`presentation`:return!Ws(t.presentation,n.presentation);case`retention`:return!Gs(t.retention,n.retention);case`synchronization`:return!Ks(t.synchronization,n.synchronization)}},Ys=(e,t)=>qs.filter(n=>Js(n,e,t)),Xs=e=>qt(Ls)(e),Zs=h.check(z(0)).pipe(ft(`WorkspaceSettingsRevision`)),Qs=b({workspaceId:N,revision:Zs,etag:y.check(yn(/^"workspace-settings-v1-[1-9][0-9]*"$/u,{expected:`a strong version-one workspace-settings ETag`})).pipe(ft(`WorkspaceSettingsEtag`)),settings:$,createdAt:v,updatedAt:v,updatedByPersonId:o(V)}).annotate({identifier:`WorkspaceSettingsReadModel`}),$s=b({workspaceId:N,revision:Zs,presentation:$.fields.presentation}).annotate({identifier:`WorkspacePresentationReadModel`}),ec=b({mutationId:Zn,expectedRevision:Zs,settings:$,acknowledgedGovernedSections:Rs}).annotate({identifier:`UpdateWorkspaceSettingsRequest`}),tc=[x,U,m,f],nc=T(`read`,`/`,{success:Qs,error:tc}).middleware(L),rc=T(`readPresentation`,`/presentation`,{success:$s,error:tc}).middleware(L),ic=we(`update`,`/`,{payload:ec,success:Qs,error:[...tc,C,lr]}).middleware(L).middleware(xn),ac=class extends E(`workspaceSettings`).add(nc,rc,ic).prefix(`/api/v1/settings`){},oc=class extends zr(`ControlCenterApi`).add(Yt).add(Cs).add(_n).add(kt).add(Jo).add(os).add(Wi).add(hs).add(fs).add(Ns).add(ac).add(Kn){},sc=e=>Zr(oc,e);export{Pr as a,Xs as i,$ as n,wr as o,Ys as r,sc as t};
5
+ //# sourceMappingURL=client-Dq_XQE_l.js.map