@knpkv/control-center 0.7.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/client/.vite/manifest.json +312 -255
  2. package/dist/client/assets/ActiveWorkPage-DKlotZGc.js +2 -0
  3. package/dist/client/assets/{ActiveWorkPage-BsaIr8ah.js.map → ActiveWorkPage-DKlotZGc.js.map} +1 -1
  4. package/dist/client/assets/AgentPage-Cxm1gj2C.js +6 -0
  5. package/dist/client/assets/{AgentPage-Cybynsnc.js.map → AgentPage-Cxm1gj2C.js.map} +1 -1
  6. package/dist/client/assets/{AtlassianOAuthCallbackPage-Du3pHuS9.js → AtlassianOAuthCallbackPage-fEFUJE2g.js} +2 -2
  7. package/dist/client/assets/{AtlassianOAuthCallbackPage-Du3pHuS9.js.map → AtlassianOAuthCallbackPage-fEFUJE2g.js.map} +1 -1
  8. package/dist/client/assets/AuthorizedSharePage-Dh7Y_gmJ.js +2 -0
  9. package/dist/client/assets/{AuthorizedSharePage-tfTdXNjt.js.map → AuthorizedSharePage-Dh7Y_gmJ.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-DkomS8Yl.js +2 -0
  13. package/dist/client/assets/{BrowserSessionHydrator-CvtvZstV.js.map → BrowserSessionHydrator-DkomS8Yl.js.map} +1 -1
  14. package/dist/client/assets/CommandSearch-nf16HEqz.js +2 -0
  15. package/dist/client/assets/{CommandSearch-Bf_oW_kD.js.map → CommandSearch-nf16HEqz.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-Bok8Vpy4.js +2 -0
  21. package/dist/client/assets/{ItemsPage-BmWEHinz.js.map → ItemsPage-Bok8Vpy4.js.map} +1 -1
  22. package/dist/client/assets/OpenPullRequestPage-DdL7PhKZ.js +2 -0
  23. package/dist/client/assets/OpenPullRequestPage-DdL7PhKZ.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-BCtzYqK6.js +2 -0
  27. package/dist/client/assets/{PairPage-CLLUweYZ.js.map → PairPage-BCtzYqK6.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-C-jqvYgQ.js +2 -0
  31. package/dist/client/assets/{PortfolioOverview-BBKSc-yI.js.map → PortfolioOverview-C-jqvYgQ.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-cuvP4ug5.js +2 -0
  35. package/dist/client/assets/{ReleaseRoute-D4CttCjC.js.map → ReleaseRoute-cuvP4ug5.js.map} +1 -1
  36. package/dist/client/assets/ReleaseWorkset-DImwmjS3.js +2 -0
  37. package/dist/client/assets/{ReleaseWorkset-Dt-ArwsN.js.map → ReleaseWorkset-DImwmjS3.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-CrM8R820.js +2 -0
  41. package/dist/client/assets/{ServicesPage-D0ygZTFD.js.map → ServicesPage-CrM8R820.js.map} +1 -1
  42. package/dist/client/assets/TimelinePage-FrvepGa_.js +2 -0
  43. package/dist/client/assets/{TimelinePage-Bb2o9DGU.js.map → TimelinePage-FrvepGa_.js.map} +1 -1
  44. package/dist/client/assets/{WorkspaceEntityLink-Cw675wTN.js → WorkspaceEntityLink-CAj42f02.js} +2 -2
  45. package/dist/client/assets/{WorkspaceEntityLink-Cw675wTN.js.map → WorkspaceEntityLink-CAj42f02.js.map} +1 -1
  46. package/dist/client/assets/WorkspaceEntityRoute-rQ9ccetx.js +14 -0
  47. package/dist/client/assets/WorkspaceEntityRoute-rQ9ccetx.js.map +1 -0
  48. package/dist/client/assets/WorkspaceHomeLink-ObQ3AQVw.js +2 -0
  49. package/dist/client/assets/{WorkspaceHomeLink-FGslxXCu.js.map → WorkspaceHomeLink-ObQ3AQVw.js.map} +1 -1
  50. package/dist/client/assets/WorkspacePullRequestDetails-BhxoqR7V.js +3 -0
  51. package/dist/client/assets/{WorkspacePullRequestDetails-Dxg8argO.js.map → WorkspacePullRequestDetails-BhxoqR7V.js.map} +1 -1
  52. package/dist/client/assets/{WorkspaceReleaseLayout-BvEiZJEb.js → WorkspaceReleaseLayout-BWL66Fff.js} +2 -2
  53. package/dist/client/assets/{WorkspaceReleaseLayout-BvEiZJEb.js.map → WorkspaceReleaseLayout-BWL66Fff.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-DutfiGPe.js +2 -0
  57. package/dist/client/assets/{WorkspaceSettingsPage-iZhUs-pg.js.map → WorkspaceSettingsPage-DutfiGPe.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-CyYeXh75.js +3 -0
  73. package/dist/client/assets/controlCenterRelayDock-CyYeXh75.js.map +1 -0
  74. package/dist/client/assets/controlCenterRelayDockChrome-upgtq649.js +3 -0
  75. package/dist/client/assets/controlCenterRelayDockChrome-upgtq649.js.map +1 -0
  76. package/dist/client/assets/index-kmYFvwT0.js +11 -0
  77. package/dist/client/assets/index-kmYFvwT0.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-DuFUSnJW.js +2 -0
  82. package/dist/client/assets/patterns-DuFUSnJW.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-BmaR7aTj.js +3 -0
  100. package/dist/client/assets/{useWorkspaceDefaultLanding-C3PRrLgk.js.map → useWorkspaceDefaultLanding-BmaR7aTj.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-BHccxrFj.js} +2 -2
  104. package/dist/client/assets/{workspaceEntityRoutes-CFPO-iFw.js.map → workspaceEntityRoutes-BHccxrFj.js.map} +1 -1
  105. package/dist/client/assets/{workspaceScrollCapture-DUj-_YMd.js → workspaceScrollCapture-BzsNJoL7.js} +2 -2
  106. package/dist/client/assets/{workspaceScrollCapture-DUj-_YMd.js.map → workspaceScrollCapture-BzsNJoL7.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-BG-FGtB5.js} +14 -5
  113. package/dist/server/assets/BindConfig-BG-FGtB5.js.map +1 -0
  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 +8 -7
  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/BindConfig-hNWrGfu2.js.map +0 -1
  163. package/dist/server/assets/controlCenterApi-BcVWTP9F.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{In as e,Rn as t,_r as n,ar as r,c as i,fa as a,hr as o,ir as s,on as c,pr as l,s as u,tr as d,ua as f,xr as p,zn as m}from"./agent-api-CzdQFCcD.js";var h=`cc_atlassian_oauth_setup_intent_state`,g=r(m({preferredSiteId:e(t.check(n(),o(),l(512))),recoveryConnectionId:p(c),providers:i})),_=e=>{let t=d(u)(e);return a(t)?t.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=s(g)(t);if(n===null||f(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 t=_(e);if(t===null)return null;try{let e=v(t),n=sessionStorage.getItem(e);if(n===null)return null;let r=d(g)(n);return a(r)?r.success:(sessionStorage.removeItem(e),sessionStorage.getItem(h)===t&&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-BxsxmjSm.js.map
1
+ import{Bn as e,Ln as t,_r as n,c as r,ga as i,hr as a,l as o,ma as s,or as c,rr as l,sn as u,sr as d,wr as f,yr as p,zn as m}from"./agent-api-CUWP1qs8.js";var h=`cc_atlassian_oauth_setup_intent_state`,g=d(e({preferredSiteId:t(m.check(p(),n(),a(512))),recoveryConnectionId:f(u),providers:o})),_=e=>{let t=l(r)(e);return i(t)?t.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=c(g)(t);if(n===null||s(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 t=_(e);if(t===null)return null;try{let e=v(t),n=sessionStorage.getItem(e);if(n===null)return null;let r=l(g)(n);return i(r)?r.success:(sessionStorage.removeItem(e),sessionStorage.getItem(h)===t&&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-Cy1Gw639.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atlassianOAuthSetupIntentStorage-BxsxmjSm.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"}
1
+ {"version":3,"file":"atlassianOAuthSetupIntentStorage-Cy1Gw639.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{Ct as e,Ri as t,Yi as n,_i as r,d as i,di as a,pi as o,tr as s,xi as c}from"./agent-api-CUWP1qs8.js";import{o as l,t as u}from"./client-D3WRV6yl.js";var d=class extends n(`ForbiddenApiError`){},f=()=>t({try:()=>sessionStorage.getItem(`cc_csrf`),catch:()=>new d}).pipe(o(e=>e===null?a(new d):s(i)(e).pipe(c(()=>new d)))),p=r(function*(){let t=yield*f();return yield*u({transformClient:n=>n.pipe(l(e(`x-csrf-token`,t)))})});export{p as t};
2
+ //# sourceMappingURL=authenticatedMutationClient-Bc_-Jpbo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authenticatedMutationClient-DUqEcJHu.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-Bc_-Jpbo.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"}
@@ -0,0 +1,2 @@
1
+ import{Qr as e,Ti as t,_i as n,ki as r,mi as i,pn as a,qr as o,tr as s}from"./agent-api-CUWP1qs8.js";import{a as c,t as l}from"./client-D3WRV6yl.js";import{n as u,t as d}from"./BrowserCrypto-CoBR2WBd.js";import{t as f}from"./authenticatedMutationClient-Bc_-Jpbo.js";var p=i(`AuthorizedShareTransport.expiresAtFor`)(function*(t){let n=yield*e;switch(t){case`hour`:return o(n,{hours:1});case`day`:return o(n,{days:1});case`week`:return o(n,{days:7})}}),m=n(function*(){let e=yield*(yield*u).randomUUIDv7;return yield*s(a)(e)}),h=i(`AuthorizedShareTransport.prepareCreate`)(function*(e){return{...e,expiresAt:yield*p(e.lifetime),shareId:yield*m}}),g={create:(e,i)=>r(n(function*(){return yield*(yield*f).shares.create({payload:{entityId:e.entityId,expiresAt:e.expiresAt,granteePersonId:e.granteePersonId,shareId:e.shareId}})}).pipe(t(c)),{signal:i}),prepareCreate:e=>r(h(e).pipe(t(d))),resolve:(e,i,a)=>r(n(function*(){return yield*(yield*l()).shares.resolve({params:{workspaceId:e,shareId:i}})}).pipe(t(c)),{signal:a}),revoke:(e,i,a)=>r(n(function*(){yield*(yield*f).shares.revoke({params:{workspaceId:e,shareId:i}})}).pipe(t(c)),{signal:a})};export{g as t};
2
+ //# sourceMappingURL=authorizedShareTransport-kkT3Jf6q.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorizedShareTransport-7YCNH9l3.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-kkT3Jf6q.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,$a as t,$n as n,$t as r,Ar as i,At as a,B as o,Bi as s,Bn as c,Bt as l,C as u,Ca as ee,Cn as te,Cr as d,D as f,Dn as p,Dr as ne,Dt as re,E as ie,Et as ae,F as oe,Fi as se,Fn as m,Fr as ce,Ft as le,G as ue,Ga as de,Gn as fe,Gr as pe,Gt as me,H as he,Hi as ge,Hn as _e,Hr as ve,Ht as ye,I as be,Ia as xe,In as Se,Ir as Ce,It as we,J as h,Ji as Te,Jn as Ee,Jt as De,K as Oe,Kr as ke,L as Ae,La as je,Li as Me,Ln as g,Lr as Ne,Lt as Pe,Mn as Fe,Mr as Ie,Mt as Le,Ni as _,Nn as v,Nr as Re,Nt as ze,O as y,On as b,Or as Be,Ot as Ve,P as He,Pi as Ue,Pn as x,Pr as We,Q as Ge,Qa as Ke,Qi as qe,Qn as Je,Qt as Ye,R as Xe,Ra as Ze,Rn as Qe,Rr as $e,Rt as et,S,Sa as tt,Si as nt,Sn as rt,Sr as C,St as it,T as at,Ta as ot,Tt as st,U as ct,Ui as lt,Un as w,Ur as ut,Ut as dt,V as ft,Vi as pt,Vt as mt,W as T,Wi as ht,Wn as gt,Wr as _t,Wt as vt,X as yt,Xa as bt,Xn as xt,Xt as St,Y as Ct,Yi as wt,Yn as Tt,Yt as Et,Z as Dt,Za as Ot,Zi as kt,Zn as At,Zt as E,_a as jt,_i as Mt,_n as Nt,_r as D,_t as Pt,a as Ft,ai as It,an as Lt,ar as Rt,at as zt,b as Bt,ba as Vt,bi as Ht,bn as Ut,bt as Wt,ci as Gt,cn as O,cr as Kt,ct as qt,da as Jt,di as k,dn as A,dr as Yt,dt as Xt,en as j,eo as Zt,er as M,et as Qt,fa as $t,fi as en,fn as tn,fr as N,ft as nn,ga as rn,gn as an,gr as on,gt as sn,h as cn,hi as ln,hn as un,hr as P,ht as dn,ia as fn,in as pn,it as mn,jr as hn,jt as gn,k as F,ka as _n,kn as vn,kr as yn,kt as bn,la as xn,li as Sn,ln as Cn,lr as wn,lt as Tn,m as I,ma as En,mn as L,mr as Dn,mt as On,na as kn,nn as An,nt as jn,o as Mn,on as R,ot as Nn,p as Pn,pi as z,pn as Fn,pr as B,pt as In,q as Ln,qa as Rn,qn as V,qt as zn,ri as Bn,rn as Vn,rr as Hn,rt as Un,s as Wn,sa as Gn,sn as Kn,sr as qn,st as Jn,t as Yn,tn as Xn,tr as Zn,tt as Qn,u as $n,ua as er,un as tr,ur as nr,ut as rr,va as ir,vn as ar,vr as or,vt as sr,w as cr,wa as lr,wi as ur,wn as dr,wr as H,wt as fr,x as pr,xa as mr,xr as U,xt as hr,y as gr,yn as _r,yr as W,yt as vr,z as yr,zi as br,zn as G,zr as xr,zt as Sr}from"./agent-api-CUWP1qs8.js";import{t as Cr}from"./Domain-cJ5aJFpE.js";var wr=e=>()=>{let t=n(Se(e));return Re((e,n)=>_(z(e,e=>t(e))))},Tr=`~effect/http/HttpClient`,Er=mr(`effect/HttpClient`),Dr=Ke(2,(e,t)=>Or(n=>t(e.postprocess(n)),e.preprocess)),Or=(e,t)=>{let n=Object.create(kr);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},kr={[Tr]:Tr,pipe(){return Zt(this,arguments)},...je,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(re.map(([e,t])=>[t,function(t,n){return this.execute(Wt(e)(t,n))}]))},Ar=e=>Or(t=>z(t,t=>lt(n=>{let r=Rr.get(t),i=r??new AbortController,o=ae(t.url,t.urlParams,_n(t.hash));if(En(o))return k(new a({reason:new gn({request:t,cause:o.failure})}));let s=o.success;if(n.getRef(xn)||n.getRef(Mr)(t)){let a=e(t,s,i.signal,n);return r?a:br(e=>nt(e(a),{onSuccess(e){return Lr.register(e,i),_(new zr(e,i))},onFailure(e){return kn(e)&&i.abort(),en(e)}}))}return pt(n.getRef(Fr)(t),{kind:`client`},a=>{a.attribute(`http.request.method`,t.method),a.attribute(`server.address`,s.origin),s.port!==``&&a.attribute(`server.port`,+s.port),a.attribute(`url.full`,s.toString()),a.attribute(`url.path`,s.pathname),a.attribute(`url.scheme`,s.protocol.slice(0,-1));let o=s.search.slice(1);o!==``&&a.attribute(`url.query`,o);let c=n.getRef(mt),l=n.getRef(Nr),u=vt(t.headers,c);for(let e in u)l(e,`request`)&&a.attribute(`http.request.header.${e}`,String(u[e]));return t=n.getRef(Pr)?fr(t,In(a)):t,br(o=>o(e(t,s,i.signal,n)).pipe(ht(a,{captureStackTrace:!1}),nt({onSuccess:e=>{a.attribute(`http.response.status_code`,e.status);let t=vt(e.headers,c);for(let e in t)l(e,`response`)&&a.attribute(`http.response.header.${e}`,String(t[e]));return r?_(e):(Lr.register(e,i),_(new zr(e,i)))},onFailure(e){return!r&&kn(e)&&i.abort(),en(e)}})))})})),_),jr=Ke(2,(e,t)=>Or(e.postprocess,n=>Ht(e.preprocess(n),t))),Mr=Vt(`effect/http/HttpClient/TracerDisabledWhen`,{defaultValue:()=>bt}),Nr=Vt(`effect/http/HttpClient/TracerHeaderFilter`,{defaultValue:()=>Ot}),Pr=Vt(`effect/HttpClient/TracerPropagationEnabled`,{defaultValue:Ot}),Fr=Vt(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),Ir=e=>Gn(Er)(Sn(t=>Ht(e,e=>Dr(e,s(e=>ot(t,e)))))),Lr=(()=>{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))}}})(),Rr=new WeakMap,zr=class{original;controller;constructor(e,t){this.original=e,this.controller=t}[On]=On;[Pt]=Pt;applyInterrupt(e){return Ue(()=>(Lr.unregister(this.original),ur(e,()=>se(()=>{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 rt(()=>(Lr.unregister(this.original),Nt(this.original.stream,se(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[Ze](){return this.original[Ze]()}pipe(){return Zt(this,arguments)}},Br=Vt(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),Vr=class extends mr()(`effect/http/FetchHttpClient/RequestInit`){},Hr=Ir(_(Ar((e,t,n,r)=>{let i=r.getRef(Br),o=lr(r.context,Vr)??{},s=o.headers?dt(ye(o.headers),e.headers):e.headers;s[`content-length`]&&(s=me(s,`content-length`));let c=r=>Ht(Me({try:()=>i(t,{...o,method:e.method,headers:s,body:r,duplex:e.body._tag===`Stream`?`half`:void 0,signal:n}),catch:t=>new a({reason:new ze({request:e,cause:t})})}),t=>dn(e,t));switch(e.body._tag){case`Raw`:case`Uint8Array`:return c(e.body.body);case`FormData`:return c(e.body.formData);case`Stream`:return z(te(e.body.stream),c)}return c(void 0)}))),Ur=`~effect/httpapi/HttpApi`,Wr={[Ur]:Ur,pipe(){return Zt(this,arguments)},add(...e){let t={...this.groups};for(let n of e)xe(t,n.identifier,n);return Kr({...Gr(this),groups:t})},addHttpApi(e){let t={...this.groups};for(let n of Object.keys(e.groups)){let r=e.groups[n];xe(t,n,r.annotateMerge(ot(e.annotations,r.annotations)))}return Kr({...Gr(this),groups:t})},prefix(e){return Kr({...Gr(this),groups:Jt(this.groups,t=>t.prefix(e))})},middleware(e){return Kr({...Gr(this),groups:Jt(this.groups,t=>t.middleware(e))})},annotate(e,t){return Kr({...Gr(this),annotations:tt(this.annotations,e,t)})},annotateMerge(e){return Kr({...Gr(this),annotations:ot(this.annotations,e)})}},Gr=e=>({identifier:e.identifier,groups:e.groups,annotations:e.annotations}),Kr=e=>{function t(){}return Object.setPrototypeOf(t,Wr),Object.assign(t,e)},qr=e=>Kr({identifier:e,groups:{},annotations:ee()}),Jr=(e,t)=>{let n=Object.values(e.groups);for(let r of n){let n=ot(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:ot(n,e.annotations),successes:Yr(Ln(e),zt),errors:Yr(ue(e),mn)})}},Yr=(e,t)=>{let n=new Map;return e.forEach(r),n;function r(e){let r=rr(e)?e.schema:e;if(qt(r))return;let i=t(e),a=n.get(i);a===void 0?n.set(i,[e]):a.push(e)}};mr()(`effect/httpapi/HttpApi/AdditionalSchemas`);var Xr=`~effect/encoding/Sse/SseError`,Zr=class extends wt(`EventTooLarge`){get message(){return`Pending SSE event exceeded the maximum size of ${this.maxEventSize}`}},Qr=class extends wt(`SseError`){[Xr]=Xr;get message(){return this.reason.message}},$r=10485760,ei=e=>Re((t,n)=>se(()=>{let n=[],r,i=ni(e=>{e._tag===`Retry`?r=e:n.push(e)},e),a=z(t,e=>{for(let t=0;t<e.length;t++){let n=i.feed(e[t]);if(n!==void 0)return k(n)}return ge});return Ue(function e(){if(er(n)){let e=n;return n=[],_(e)}return r?k(r):z(a,e)})})),ti=(e,t)=>We(ei(t),wr(ii.pipe(M(e)))());function ni(e,t){let n=t?.maxEventSize??$r,r,i,a,o,s,c,l,u;return ee(),{feed:te,reset:ee};function ee(){r=!0,i=``,a=0,o=-1,s=!1,c=void 0,l=void 0,u=``}function te(e){i=i?i+e:e,r&&i.startsWith(ri)&&(i=i.slice(ri.length)),r=!1;let t=i.length,c=0;for(;c<t;){s&&=(i[c]===`
2
+ `&&++c,!1);let e=-1,n=o,r;for(let o=a;e<0&&o<t;++o)r=i[o],r===`:`&&n<0?n=o-c:r===`\r`?(s=!0,e=o-c):r===`
3
+ `&&(e=o-c);if(e<0){a=t-c,o=n;break}a=0,o=-1,d(i,c,n,e),c+=e+1}if(c===t?i=``:c>0&&(i=i.slice(c)),i.length+u.length>n){let e=new Qr({reason:new Zr({maxEventSize:n})});return ee(),e}}function d(t,n,r,i){if(i===0){u.length>0&&(e({_tag:`Event`,id:c,event:l||`message`,data:u.slice(0,-1)}),u=``),l=void 0;return}let a=r<0,o=t.slice(n,n+(a?i:r)),s=0;s=a?i:t[n+r+1]===` `?r+2:r+1;let ee=n+s,te=i-s,d=t.slice(ee,ee+te).toString();o===`data`?u+=d?`${d}\n`:`
4
+ `:o===`event`?l=d:o===`id`&&!d.includes(`\0`)?c=d:o===`retry`&&/^\d+$/.test(d)&&e(new oi({duration:ir(parseInt(d,10)),lastEventId:c}))}}var ri=``,ii=c({id:d(G),event:G,data:G}),ai=`~effect/encoding/Sse/Retry`,oi=class e extends Te(`Retry`){[ai]=ai;static is(e){return de(e,ai)}static filter(t){return e.is(t)?jt(t):$t(t)}},si=(e,n)=>Mt(function*(){let r=yield*Gt(),i=n.httpClient.pipe(n?.baseUrl===void 0?t:jr(hr(n.baseUrl.toString())));function o(e,t,n,a,s){if(s===-1)return i.execute(n);let c=r.mapUnsafe.get(a[s]);return c===void 0?o(e,t,n,a,s-1):c({endpoint:t,group:e,request:n,next(n){return o(e,t,n,a,s-1)}})}Jr(e,{predicate:n?.predicate,onGroup(e){n.onGroup?.(e)},onEndpoint(e){let{group:t,endpoint:r,errors:i,successes:s}=e,c=di(r.path),l={orElse:Ai},u=sn(l),ee=new Map;for(let[e,t]of i.entries()){let n=gi(t);for(let[t,r]of n.entries())mi(ee,e,t,fi(r))}for(let[e,t]of ee.entries()){let n=hi(t);l[e]=e=>z(It(n(e),t=>en(kt(qe(new a({reason:new Le({request:e.request,response:e})})),t))),k)}let te=new Map;for(let[e,t]of s.entries()){let n=gi(t);for(let[t,r]of n.entries())mi(te,e,t,fi(r))}for(let e of bi(r)){let t=yi(e)?e.schema:e;mi(te,zt(e),t.contentType,xi(e))}for(let[e,t]of te.entries())l[e]=hi(t);let d=Ie(r.params,Rt),f=Oe(r),p=er(f)?Ve(r.method)?Rt(Mi(f,r.method)):Rt(V(f)):void 0,ne=Ie(r.headers,Rt),re=Ie(r.query,Rt),ie=Array.from(e.middleware,e=>`${e.key}/Client`),ae=ln(function*(e){let i=Wt(r.method)(r.path);if(e!==void 0){if(d!==void 0){let t=yield*d(e.params);i=st(i,c(t))}if(p!==void 0){if(Ve(r.method)){if(e.payload instanceof FormData)i=vr(i,e.payload);else{let t=yield*p(e.payload);i=it(i,t)}}else{let t=yield*p(e.payload);i=sr(i,t)}}if(ne!==void 0){let t=yield*ne(e.headers);i=fr(i,t)}if(re!==void 0){let t=yield*re(e.query);i=sr(i,t)}}let a=yield*o(t,r,i,ie,ie.length-1);if(e?.responseMode===`response-only`)return a;let s=yield*n.transformResponse===void 0?u(a):n.transformResponse(u(a));return e?.responseMode===`decoded-and-response`?[s,a]:s});n.onEndpoint({...e,endpointFn:ae})}})}),ci=(e,t)=>z(Er,n=>li(e,{...t,httpClient:t?.transformClient?t.transformClient(n):n})),li=(e,t)=>{let n={};return si(e,{...t,onGroup({group:e}){e.topLevel||xe(n,e.identifier,{})},onEndpoint({endpoint:e,endpointFn:t,group:r}){xe(r.topLevel?n:n[r.identifier],e.identifier,t)}}).pipe(Bn(n))},ui=/(\/?):(\w+)(\?)?/g,di=e=>ui.test(e)?(ui.lastIndex=0,t=>(ui.lastIndex=0,e.replace(ui,(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 fi(e){let t=e.some(e=>rr(e)||Nn(e.ast)!==void 0),r=t?V(e.map(pi)):Oi(e),i=n(r);return e=>z(e.arrayBuffer,t?t=>i({body:t,headers:e.headers}):i)}function pi(e){let t=rr(e),n=Nn(e.ast);if(n!==void 0)return c({body:ki(n.body),headers:n.headersCodec}).pipe(M(e));let r=t?e.schema:e;return c({body:ki(r).pipe(M(r)),headers:t?e.headers:Ee}).pipe(M(t?e:i(e),Ne({decode:e=>t?nn(e):e.body,encode:e=>t?e:{body:e,headers:void 0}})))}function mi(e,t,n,r){let i=yt(n),a=e.get(t);a===void 0?e.set(t,[{contentType:i,decode:r}]):a.push({contentType:i,decode:r})}function hi(e){let t=e[0];return e.length===1&&t!==void 0?t.decode:t=>{let n=yt(t.headers[`content-type`]??``),r=e.find(e=>e.contentType===n);return r===void 0?_i(t,n,e):r.decode(t)}}function gi(e){let t=new Map;for(let n of e){let e=rr(n)?n.schema:n,r=Jn(e.ast)?``:yt(Un(n).contentType),i=t.get(r);i===void 0?t.set(r,[n]):i.push(n)}return t}function _i(e,t,n){let r=Array.from(new Set(n.map(e=>e.contentType))).join(`, `);return k(new a({reason:new bn({request:e.request,response:e,description:`Unsupported response content-type for status ${e.status}: ${t||`<missing>`}. Expected one of: ${r}`})}))}var vi=`effect/httpapi/stream/failure`,yi=e=>rr(e);function bi(e){let t=[];for(let n of e.success){let e=rr(n)?n.schema:n;qt(e)&&t.push(n)}return t}function xi(e){let t=yi(e),n=t?e.schema:e,r=Tn(n)?void 0:{declaration:n,decoder:Si(n)},i=e=>Ht(Gt(),t=>Ut(r===void 0?e.stream:Ci(e.stream,r.declaration,r.decoder),t));if(!t)return i;let a=Zn(e.headers);return e=>z(a(e.headers),t=>Ht(i(e),e=>nn({body:e,headers:t})))}function Si(e){return ti(V([c({event:x(vi),data:qn(ne(vn(e.error,Fe())))}),e.events]))}function Ci(e,t,n){let r=dr(e.pipe(an,_r(n)),e=>se(()=>{let t;return Ue(()=>t===void 0?z(e,e=>{for(let n=0;n<e.length;n++){let r=e[n];if(r.event===vi&&fn(r.data)){if(n===0)return en(r.data);t=r.data,e=e.slice(0,n);break}}return _(e)}):en(t))}));return t.sseMode===`data`?ar(r,e=>e.data):r}var wi=Kt(globalThis.ArrayBuffer,{expected:`ArrayBuffer`}),Ti=wi.pipe(M(gt,Ne({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)}}))),Ei=wi.pipe(M(G,Ne({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)}}))),Di=Ei.pipe(M(V([x(``).pipe(M(fe,Ne({decode:()=>void 0,encode:()=>``}))),Tt])));function Oi(e){return V(e.map(t));function t(e){return ki(e).pipe(M(e))}}function ki(e){switch(jn(e.ast)._tag){case`Json`:return ce(Ce(e.ast))?Di.pipe(M(Ee,Ne({decode:e=>e===void 0?null:e,encode:e=>e===null?void 0:e}))):Di;case`FormUrlEncoded`:return Ei.pipe(M(l));case`Uint8Array`:return Ti;case`Text`:return Ei}}var Ai=e=>k(new a({reason:new bn({request:e.request,response:e})})),ji=Je(le);function Mi(e,t){return V(e.map(e=>Pi(e,t)))}var Ni=new WeakMap;function Pi(e,t){let n=e.ast,r=Ni.get(n);if(r!==void 0)return r;let i=Qn(n,t),a=ji.pipe(M(e,$e({decode(e,t){return k(new _t({message:`Encode only schema`},e,t))},encode(e,t){switch(i._tag){case`Multipart`:return k(new _t({message:`Payload must be a FormData`},e,t));case`Json`:try{let t=JSON.stringify(e);return _(we(t,i.contentType))}catch{return k(new pe({expected:`a JSON-serializable request body`},e,t))}case`Text`:return typeof e==`string`?_(we(e,i.contentType)):k(new pe({message:`Expected a string`},e,t));case`FormUrlEncoded`:return Rn(e)?_(et(Sr(e),i.contentType)):k(new pe({message:`Expected a record`},e,t));case`Uint8Array`:return e instanceof Uint8Array?_(Pe(e,i.contentType)):k(new pe({message:`Expected a Uint8Array`},e,t))}}})));return Ni.set(n,a),a}var Fi=G.check(W(),D(),P(512)),Ii=G.check(W(),D(),P(200)),Li=Et.pipe(At(C(({hash:e,search:t})=>e.length===0&&t.length===0,{expected:`a provider endpoint URL without query parameters or fragments`}))),Ri=c({providerImmutableId:Fi,displayName:Ii}),zi=g(Ri),Bi=c({kind:m([`api`,`web`,`graphql`,`webhook`]),url:Li,label:g(Ii)});c({account:zi,workspace:zi,resource:d(zi).pipe(M(i(zi),{decode:ve(_(null)),encode:xr()})),endpoints:p(Bi).check(C(e=>e.length<=20,{expected:`at most 20 safe provider endpoints`})),discoveredAt:E}).annotate({identifier:`PluginDiscoveryV1`});var Vi=(e,t)=>G.check(W(),D(),P(t)).pipe(xt(e)),Hi=v.check(B(0)),Ui=v.check(N(0)),Wi=1048576,Gi=4*Math.ceil(Wi/3),Ki=1048576,qi=new TextEncoder,Ji=G.check(C(e=>qi.encode(e).byteLength<=Ki,{expected:`at most ${Ki} UTF-8 log message bytes`})),Yi=c({entity:be,executionId:Vi(`PluginPipelineExecutionId`,256),actionExecutionId:Vi(`PluginPipelineActionExecutionId`,256),expectedRevision:zn}),Xi=c({action:Yi,cursor:g(Vi(`PluginPipelineLogCursor`,4096)),limit:Ui.check(Dn(100))}),Zi=c({timestamp:E,ingestionTimestamp:g(E),message:Ji}),Qi=c({events:p(Zi).check(C(e=>e.length<=100,{expected:`at most 100 pipeline log events`}),C(e=>e.reduce((e,t)=>e+qi.encode(t.message).byteLength,0)<=Ki,{expected:`at most ${Ki} UTF-8 log message bytes`})),nextCursor:g(Vi(`PluginPipelineLogCursor`,4096))}),$i=c({action:Yi,direction:m([`input`,`output`]),artifactName:Vi(`PluginPipelineArtifactName`,256),offset:Hi,length:Ui.check(Dn(Wi))});c({bytesBase64:G.check(P(Gi),nr(),C(e=>{let t=ut(e);return rn(t)&&t.success.byteLength<=Wi},{expected:`at most ${Wi} base64-decoded bytes`})),totalBytes:Hi,contentType:x(`application/octet-stream`),filename:G.check(W(),D(),P(255),or(/^[^"\\/\r\n]+$/u,{expected:`a safe attachment filename`}))});var ea=c({pluginConnectionId:Kn,request:Xi}),ta=c({pluginConnectionId:Kn,request:$i}),na=[F,S,cr,Bt,ie,f,y],ra=h(`logs`,`/logs`,{payload:ea,success:Qi,error:na}).middleware(I),ia=gt.pipe(Qt({contentType:`application/octet-stream`})),aa=h(`artifact`,`/artifact`,{payload:ta,success:[ia,ia.pipe(Xt(206)),ia.pipe(Xt(416))],error:na}).middleware(I),oa=class extends he(`codepipeline`).add(ra).add(aa).prefix(`/api/v1/codepipeline`){},sa=(e,t)=>G.check(P(e)).annotate({identifier:t}),K=(e,t)=>sa(e,t).check(W(),D()),q=(e,t)=>p(e).check(P(t)),ca=K(512,`NormalizedIssueSourceObjectId`),la=K(512,`NormalizedIssueSourcePersonId`),ua=sa(255,`NormalizedIssueShortText`),da=sa(16e3,`NormalizedIssueRichText`),fa=K(100,`NormalizedIssueTimestamp`),pa=K(2048,`NormalizedIssueAvatarUrl`).check(C(e=>rn(Hn(Et)(e)),{expected:`an HTTP(S) source URL without embedded credentials`})),ma=c({sourceId:g(ca),name:g(ua)}).annotate({identifier:`NormalizedIssueNamedValue`}),ha=c({sourceId:g(ca),key:g(K(100,`NormalizedIssueProjectKey`)),name:g(ua)}).annotate({identifier:`NormalizedIssueProject`}),ga=c({sourceId:g(ca),name:g(ua),released:b,releaseDate:g(fa)}).annotate({identifier:`NormalizedIssueFixVersion`}),_a=c({sourceId:g(ca),key:g(K(100,`NormalizedRelatedIssueKey`)),summary:g(sa(500,`NormalizedRelatedIssueSummary`)),status:g(ma)}).annotate({identifier:`NormalizedRelatedIssue`}),va=c({sourcePersonId:la,displayName:K(200,`NormalizedIssueCollaboratorDisplayName`),avatarUrl:g(pa),active:b,roles:q(K(100,`NormalizedIssueCollaboratorRole`),16).check(U())}).annotate({identifier:`NormalizedIssueCollaborator`}),ya=c({sourceId:ca,authorSourcePersonId:g(la),updateAuthorSourcePersonId:g(la),body:g(da),createdAt:g(fa),updatedAt:g(fa)}).annotate({identifier:`NormalizedIssueComment`}),ba=c({field:K(255,`NormalizedIssueHistoryField`),from:g(sa(1e3,`NormalizedIssueHistoryValue`)),to:g(sa(1e3,`NormalizedIssueHistoryValue`))}).annotate({identifier:`NormalizedIssueHistoryChange`}),xa=c({sourceId:ca,authorSourcePersonId:g(la),createdAt:g(fa),changes:q(ba,100)}).annotate({identifier:`NormalizedIssueHistoryEntry`}),Sa=m([`acceptanceCriteria`,`collaborators`,`comments`,`components`,`description`,`environment`,`fixVersions`,`history`,`issueType`,`key`,`labels`,`parent`,`priority`,`project`,`resolution`,`summary`,`status`,`subtasks`,`updatedAt`,`createdAt`,`dueDate`,`resolvedAt`]),Ca=c({key:K(100,`NormalizedIssueKey`),status:K(100,`NormalizedIssueStatus`),priority:g(K(100,`NormalizedIssuePriority`)),estimatePoints:g(Qe.check(B(0))),summary:H(sa(500,`NormalizedIssueSummary`)),description:H(g(da)),acceptanceCriteria:H(g(da)),environment:H(g(da)),issueType:H(g(ma)),project:H(g(ha)),resolution:H(g(ma)),labels:H(q(K(255,`NormalizedIssueLabel`),200)),components:H(q(ma,100)),fixVersions:H(q(ga,99)),createdAt:H(g(fa)),updatedAt:H(g(fa)),dueDate:H(g(fa)),resolvedAt:H(g(fa)),parent:H(g(_a)),subtasks:H(q(_a,200)),assigneeSourcePersonId:H(g(la)),reporterSourcePersonId:H(g(la)),creatorSourcePersonId:H(g(la)),collaborators:H(q(va,200)),comments:H(q(ya,200)),commentTotal:H(v.check(B(0))),commentsTruncated:H(b),commentBodiesTruncated:H(b),history:H(q(xa,200)),historyTotal:H(v.check(B(0))),historyTruncated:H(b),truncatedFields:H(q(Sa,32).check(U()))}).annotate({identifier:`NormalizedIssueAttributes`}),wa=(e,t)=>G.check(W(),D(),P(e)).annotate({identifier:t}),Ta=c({representation:x(`safe-markdown`),markdown:G.check(P(262144))}),Ea=c({number:v.check(N(0)),createdAt:E,message:g(G.check(P(2e3))),minorEdit:b,authorSourcePersonId:g(wa(512,`PageVersionAuthorSourcePersonId`))}),Da=c({sourcePersonId:wa(512,`PageContributorSourcePersonId`),displayName:wa(200,`PageContributorDisplayName`),active:b,external:b,resolved:b,roles:p(m([`owner`,`author`,`contributor`,`watcher`])).check(D(),U())}),Oa=c({id:wa(512,`PageAttachmentId`),title:wa(500,`PageAttachmentTitle`),createdAt:E,mediaType:g(G.check(W(),P(255))),fileSize:g(v.check(B(0))),version:g(v.check(N(0)))}),ka=c({complete:b,pagesFetched:v.check(Yt({minimum:0,maximum:5}))}),Aa=c({sourceSpaceId:H(wa(512,`PageSourceSpaceId`)),parentSourceId:H(g(wa(512,`PageParentSourceId`))),createdAt:H(E),updatedAt:H(E),content:H(g(Ta)),contentState:H(m([`loaded`,`lazy`])),taskUpdatesSafe:H(b),versions:H(p(Ea).check(P(500))),versionHistory:H(ka),contributors:H(p(Da).check(P(502))),attachments:H(p(Oa).check(P(50))),attachmentInventory:H(ka),watcherInventory:H(ka)}),J=(e,t)=>G.check(W(),D(),P(e)).annotate({identifier:t}),ja=m([`issue`,`pull-request`,`page`,`pipeline-execution`,`deployment`,`time-entry`]),Ma=m([`jira`,`codecommit`,`confluence`,`codepipeline`,`clockify`]),Na=m([`active`,`done`,`failed`]),Pa=V([ja,m([`release`,`environment`])]),Y=v.check(N(0)).pipe(xt(`LedgerRevision`)),Fa=_e(`issue`,{...Ca.fields}),Ia=_e(`pull-request`,{repository:J(200,`RepositoryName`),sourceBranch:J(500,`SourceBranch`),targetBranch:J(500,`TargetBranch`),headRevision:J(512,`HeadRevision`),reviewState:m([`not-requested`,`requested`,`changes-requested`,`approved`,`merged`]),lifecycle:H(g(m([`open`,`closed`,`merged`]))),description:H(g(G.check(P(5e4)))),authorReference:H(g(J(512,`PullRequestAuthorReference`))),baseRevision:H(g(J(512,`BaseRevision`))),mergeBaseRevision:H(g(J(512,`MergeBaseRevision`))),createdAt:H(g(J(64,`PullRequestCreatedAt`))),updatedAt:H(g(J(64,`PullRequestUpdatedAt`)))}),La=_e(`page`,{...Aa.fields,spaceKey:J(100,`SpaceKey`),revision:J(512,`PageRevision`),status:m([`draft`,`current`,`superseded`]),linkedIssueKeys:d(p(J(100,`LinkedIssueKey`)).check(U(),P(100))),linkedReleaseVersions:d(p(J(100,`LinkedReleaseVersion`)).check(U(),P(100)))}),Ra=m([`queued`,`running`,`succeeded`,`failed`,`stopped`]),za=c({actionName:J(200,`PipelineSourceActionName`),revisionId:g(J(512,`PipelineSourceRevisionId`)),revisionSummary:g(J(500,`PipelineSourceRevisionSummary`))}),Ba=c({name:J(200,`PipelineStageName`),status:Ra,actionCount:v.check(B(0)),actionsTruncated:b}),Va=c({name:J(200,`PipelineActionArtifactName`),direction:m([`input`,`output`]),access:x(`proxy-required`)}),Ha=c({actionExecutionId:J(512,`PipelineActionExecutionId`),stageName:J(200,`PipelineActionStageName`),actionName:J(200,`PipelineActionName`),status:Ra,startedAt:g(E),updatedAt:g(E),updatedBy:g(J(512,`PipelineActionActor`)),category:g(J(100,`PipelineActionCategory`)),provider:g(J(100,`PipelineActionProvider`)),owner:g(J(100,`PipelineActionOwner`)),version:g(J(100,`PipelineActionVersion`)),region:g(J(100,`PipelineActionRegion`)),externalExecutionSummary:g(J(500,`PipelineExternalExecutionSummary`)),errorCode:g(J(200,`PipelineActionErrorCode`)),errorMessage:g(J(500,`PipelineActionErrorMessage`)),artifacts:p(Va).check(P(100))}),Ua=c({name:J(200,`PipelineSourceArtifactName`),revisionId:g(J(512,`PipelineSourceArtifactRevisionId`)),revisionSummary:g(J(500,`PipelineSourceArtifactRevisionSummary`)),createdAt:g(E),access:x(`proxy-required`)}),Wa=_e(`pipeline-execution`,{pipelineName:J(200,`PipelineName`),executionId:J(512,`PipelineExecutionId`),status:Ra,triggerRevision:J(512,`PipelineTriggerRevision`),pipelineVersion:H(g(v.check(N(0)))),statusSummary:H(g(J(500,`PipelineStatusSummary`))),startedAt:H(g(E)),updatedAt:H(g(E)),triggerType:H(g(J(100,`PipelineTriggerType`))),triggerDetail:H(g(J(500,`PipelineTriggerDetail`))),executionMode:H(g(J(100,`PipelineExecutionMode`))),executionType:H(g(J(100,`PipelineExecutionType`))),rollbackTargetExecutionId:H(g(J(512,`PipelineRollbackTargetExecutionId`))),sourceRevisions:H(p(za).check(C(e=>new Set(e.map(e=>e.actionName)).size===e.length,{expected:`unique pipeline source action names`}),P(100))),stages:H(p(Ba).check(C(e=>new Set(e.map(e=>e.name)).size===e.length,{expected:`unique pipeline stage names`}),P(100))),actions:H(p(Ha).check(C(e=>new Set(e.map(e=>e.actionExecutionId)).size===e.length,{expected:`unique pipeline action execution identifiers`}),P(200))),actionCount:H(v.check(B(0))),actionsTruncated:H(b),actionPagesRead:H(v.check(Yt({minimum:0,maximum:5}))),sourceArtifacts:H(p(Ua).check(P(100)))}),Ga=_e(`deployment`,{environmentId:j,revision:J(512,`DeploymentRevision`),status:m([`pending`,`deploying`,`succeeded`,`failed`,`rolled-back`])}),Ka=_e(`time-entry`,{durationMinutes:v.check(B(0)),billable:b,approvalState:m([`pending`,`approved`,`rejected`,`not-required`]),locked:H(b),description:H(g(J(4e3,`ClockifyTimeEntryDescription`))),projectId:H(g(J(512,`ClockifyProjectId`))),userId:H(J(512,`ClockifyUserId`)),startedAt:H(E),endedAt:H(g(E))}),qa=V([Fa,Ia,La,Wa,Ga,Ka]).pipe(yn(`_tag`)),Ja=c({workspaceId:L,entityId:r,projectionRevision:Y,sourceEntityRevision:Y,supersedesProjectionRevision:g(Y),projectionSchemaVersion:v.check(N(0)),entityState:m([`present`,`deleted`]),entityType:ja,displayKey:J(200,`EntityDisplayKey`),title:J(500,`EntityTitle`),details:qa}).check(C(({details:e,entityType:t})=>e._tag===t,{expected:`entity details whose tag matches the entity kind`}),C(({projectionRevision:e,supersedesProjectionRevision:t})=>e===1?t===null:t===e-1,{expected:`entity projection to supersede its exact preceding revision`})),Ya=w({entity:{entityId:r,entityKind:ja},environment:{environmentId:j,releaseId:A},release:{releaseId:A}}),Xa=c({workspaceId:L,nodeId:Lt,endpointKind:Pa,resolution:w({resolved:{target:Ya},missing:{expectedKind:m([`entity`,`release`,`environment`]),expectedEntityKind:g(ja),missingKey:J(512,`MissingDeliveryNodeKey`)}}),createdAt:E}).check(C(({resolution:e})=>e._tag!==`missing`||e.expectedKind===`entity`==(e.expectedEntityKind!==null),{expected:`only missing entity nodes to carry an expected entity kind`}),C(({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`})),Za=m([`contains`,`implements`,`depends-on`,`verified-by`,`delivered-by`,`documented-by`,`tracks-time-for`]),Qa=[`issue`,`pull-request`,`page`,`pipeline-execution`,`deployment`,`time-entry`,`release`,`environment`],$a={contains:{source:[`release`],target:[`issue`,`pull-request`,`page`,`pipeline-execution`,`deployment`,`time-entry`]},implements:{source:[`pull-request`],target:[`issue`]},"depends-on":{source:Qa,target:Qa},"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`]}},eo=(e,t,n)=>{let r=$a[e];return r.source.some(e=>e===t)&&r.target.some(e=>e===n)},to=w({unknown:{rationale:J(1e3,`UnknownRelationshipConfidenceRationale`)},confirmed:{},inferred:{score:Qe.check(Yt({minimum:0,maximum:1})),rationale:J(1e3,`RelationshipConfidenceRationale`)}}),no=w({plugin:{pluginConnectionId:Kn,sourceEntityId:r,sourceEntityRevision:Y},human:{personId:R,rationale:J(1e3,`HumanRelationshipRationale`)},agent:{agentId:Ye,rationale:J(1e3,`AgentRelationshipRationale`)},rule:{ruleId:J(200,`RelationshipRuleId`),ruleVersion:v.check(N(0)),rationale:J(1e3,`RuleRelationshipRationale`)}}),ro=w({missing:{effectiveAt:E,reason:J(1e3,`MissingRelationshipReason`)},inferred:{effectiveAt:E},proposed:{effectiveAt:E},verified:{effectiveAt:E},governed:{effectiveAt:E},rejected:{effectiveAt:E,reason:J(1e3,`RejectionReason`)},superseded:{effectiveAt:E,reason:J(1e3,`SupersessionReason`)}}),io=g(w({release:{releaseId:A},environment:{releaseId:A,environmentId:j}})),ao=w({human:{personId:R},agent:{agentId:Ye},system:{component:J(200,`LedgerSystemComponent`)}}),oo=c({workspaceId:L,relationshipId:O,relationshipSchemaVersion:x(1),revision:Y,supersedesRevision:g(Y),kind:Za,sourceNodeId:Lt,sourceNodeKind:Pa,targetNodeId:Lt,targetNodeKind:Pa,scope:io,lifecycle:ro,confidence:to,provenance:no,recordedBy:ao,evidenceClaimIds:p(An).check(P(128)),recordedAt:E}).check(C(({evidenceClaimIds:e})=>new Set(e).size===e.length,{expected:`relationship evidence references to be unique`}),C(({confidence:e,evidenceClaimIds:t})=>e._tag!==`confirmed`||t.length>0,{expected:`confirmed relationship confidence to reference immutable evidence`}),C(({sourceNodeId:e,targetNodeId:t})=>e!==t,{expected:`relationship source and target to differ`}),C(({kind:e,sourceNodeKind:t,targetNodeKind:n})=>eo(e,t,n),{expected:`relationship endpoints to follow the canonical version-one direction matrix`}),C(({kind:e,scope:t})=>e!==`contains`||t!==null,{expected:`release containment to carry an explicit release or environment scope`}),C(({confidence:e,lifecycle:t})=>t._tag!==`inferred`||e._tag!==`confirmed`,{expected:`an inferred relationship lifecycle not to claim confirmed confidence`}),C(({revision:e,supersedesRevision:t})=>e===1?t===null:t===e-1,{expected:`relationship to supersede its exact preceding revision`})),so=m([`relationship-observed`,`status-observed`,`approval-recorded`,`check-observed`,`execution-observed`,`deployment-observed`,`documentation-observed`,`time-observed`]),co=w({flag:{value:b},state:{value:J(500,`EvidenceState`)},revision:{value:J(512,`EvidenceRevision`)},reference:{targetNodeId:Lt}}),lo=w({plugin:{pluginConnectionId:Kn,sourceEntityId:r,sourceEntityRevision:Y},human:{personId:R},agent:{agentId:Ye},system:{component:J(200,`EvidenceSystemComponent`)}}),uo=c({classification:m([`audit`,`evidence`,`normalized-cache`]),retainUntil:g(E),legalHold:b}),fo=w({human:{personId:R},agent:{agentId:Ye},system:{component:J(200,`EvidenceVerifierComponent`)}}),po=c({workspaceId:L,evidenceId:Vn,schemaVersion:v.check(N(0)),attribution:lo,verifier:fo,observedAt:E,recordedAt:E,validUntil:g(E),freshness:gr,retention:uo}).check(C(({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`}),C(({observedAt:e,recordedAt:t})=>ke(e,t)<=0,{expected:`evidence observation time not to follow recording time`}),C(({observedAt:e,validUntil:t})=>t===null||ke(e,t)<0,{expected:`evidence validity to end after observation`}),C(({recordedAt:e,retention:t})=>t.retainUntil===null||ke(e,t.retainUntil)<=0,{expected:`evidence retention not to end before recording`})),mo=c({workspaceId:L,evidenceClaimId:An,evidenceId:Vn,subjectNodeId:Lt,predicate:so,value:co,recordedAt:E,supersedesEvidenceClaimId:g(An)}).check(C(({evidenceClaimId:e,supersedesEvidenceClaimId:t})=>e!==t,{expected:`evidence not to supersede itself`})),ho=m([`link`,`verify`,`reject`]),go=G.check(W(),D(),P(1e3)).annotate({identifier:`RelationshipRepairRationale`}),_o=c({actor:Xe,sessionId:tn}),vo=m([`approved`,`rejected`]),yo=c({reviewId:tr,decision:vo,rationale:go,origin:_o,reviewedAt:E}).annotate({identifier:`RelationshipRepairReview`}),bo=c({proposalId:Cn,relationshipId:O,appliedRevision:Y,origin:_o,appliedAt:E}).annotate({identifier:`RelationshipRepairApplication`}),xo=c({schemaVersion:x(2),proposalId:Cn,workspaceId:L,releaseId:A,environmentId:g(j),relationshipId:O,expectedRevision:Y,disposition:ho,rationale:go,origin:_o,status:m([`pending`,`approved`,`rejected`]),proposedAt:E,review:g(yo)}).annotate({identifier:`RelationshipRepairProposal`}),So=m([`agent`,`human`,`plugin`,`system`]),Co=m([`action`,`plugin-sync`,`relationship`,`system`]),wo=m([`codecommit`,`codepipeline`,`jira`,`confluence`,`clockify`]),To=c({eventKey:G.check(D(),P(1024)),occurredAt:E}).annotate({identifier:`TimelineCursor`}),Eo=c({eventKey:To.fields.eventKey,occurredAt:E,actor:c({kind:So,label:G.check(W(),D(),P(200))}),sourceKind:Co,service:g(wo),eventType:G.check(W(),D(),P(200)),title:G.check(W(),D(),P(300)),href:g(G.check(D(),P(2048)))}).annotate({identifier:`TimelineEvent`}),Do=G.check(D(),P(2048)),Oo=c({actorId:g(Do),actionId:g(Do),relationshipId:g(Do),pluginConnectionId:g(Do),releaseId:g(Do),entityId:g(Do)}).annotate({identifier:`TimelineEventIdentifiers`}),ko=c({jobId:Do}).annotate({identifier:`TimelineAgentJobDetail`}),Ao=c({event:Eo,identifiers:Oo,agentJob:g(ko)}).annotate({identifier:`TimelineEventDetail`}),jo=c({events:p(Eo).check(C(e=>e.length<=100,{expected:`at most 100 Timeline events`})),nextCursor:g(To)}).annotate({identifier:`TimelinePage`}),Mo=200,No=200,X=(e,t)=>p(e).check(P(t)),Po=c({projection:Ja,recordedAt:E}).annotate({identifier:`InspectedEntityProjection`}),Fo=c({releaseId:A,environmentId:g(j),truncated:b,nodes:X(Xa,500),entityProjections:X(Po,500),relationships:X(oo,500),evidenceClaims:X(mo,500),evidenceItems:X(po,500)}).annotate({identifier:`ReleaseDeliveryGraphInspection`}),Io=p(A).check(U(),P(500),C(e=>e.every((t,n)=>{let r=e[n-1];return n===0||r!==void 0&&r<t}),{expected:`sorted workspace entity release identifiers`})),Lo=c({avatarFallback:G.check(W(),D(),P(4)),displayName:G.check(W(),D(),P(200)),personId:R,roles:X(o,16).check(on(1)),sourceIdentities:H(X(yr,16))}).annotate({identifier:`WorkspaceEntityOwner`}),Ro=X(Lo,20),zo=X(Lo,200),Bo=c({canonicalReleaseId:g(A),owners:Ro,ownersTruncated:b,releaseIds:Io,releaseMembershipsTruncated:b,projection:Ja,recordedAt:E}).check(C(({canonicalReleaseId:e,releaseIds:t})=>e===(t[0]??null),{expected:`canonical release identifier to be the first current release membership`}),C(({releaseIds:e,releaseMembershipsTruncated:t})=>!t||e.length===500,{expected:`truncated workspace release memberships to contain the complete bounded prefix`}),C(({owners:e,ownersTruncated:t})=>!t||e.length===20,{expected:`truncated workspace owners to contain the complete bounded prefix`})).annotate({identifier:`WorkspaceEntityProjection`}),Vo=c({matchedCount:v.check(B(0)),ownerOptions:zo,ownerOptionsTruncated:b,totalCount:v.check(B(0)),truncated:b,items:X(Bo,500)}).check(C(({ownerOptions:e,ownerOptionsTruncated:t})=>!t||e.length===200,{expected:`truncated workspace owner options to contain the complete bounded prefix`})).annotate({identifier:`WorkspaceEntityProjectionIndex`}),Ho=c({entityId:r,accountLabel:G.check(W(),D(),P(500)),title:G.check(W(),D(),P(1e3))}),Uo=w({found:{candidate:Ho},ambiguous:{candidates:X(Ho,500)},"account-identity-unavailable":{},"not-found":{indexTruncated:b}}),Wo=c({truncated:b,nodes:X(Xa,200),relatedEntityProjections:X(Po,100),relationships:X(oo,100),evidenceClaims:X(mo,200),evidenceItems:X(po,200)}).annotate({identifier:`WorkspaceEntityGraph`}),Go=c({truncated:b,events:X(Eo,20)}).annotate({identifier:`WorkspaceEntityActivity`}),Ko=c({actionId:pn,decision:m([`approved`,`rejected`]),rationale:G.check(W(),D(),P(1e3)),decidedAt:E}).annotate({identifier:`ClockifyApproval`}),qo=c({entity:Bo,source:De,isSourceCurrent:b,sourceActionsAvailable:b.pipe(hn(_(!1))),sourceSynchronizationAvailable:b.pipe(hn(_(!1))),freshness:g(gr),clockifyApproval:g(Ko).pipe(hn(_(null))),graph:Wo,activity:Go}).annotate({identifier:`WorkspaceEntityInspection`}),Jo=c({relationshipId:O,revisions:X(oo,Mo)}).annotate({identifier:`RelationshipHistoryInspection`}),Yo=c({evidence:po,claims:X(mo,No)}).annotate({identifier:`EvidenceInspection`}),Xo=c({relationship:oo,suggestedDisposition:m([`link`,`verify`,`reject`]),explanation:G.check(W(),D(),P(1e3)),impact:c({releaseId:A,environmentId:g(j)}),requiredPermission:x(`workspace-owner`)}).annotate({identifier:`RelationshipRepairCandidate`}),Zo=c({releaseId:A,environmentId:g(j),truncated:b,candidates:X(Xo,500)}).annotate({identifier:`RelationshipRepairCandidates`}),Qo=c({candidate:Xo,precondition:c({relationshipId:O,expectedRevision:Y}),proposal:c({disposition:m([`link`,`verify`,`reject`]),rationale:G.check(W(),D(),P(1e3))})}).annotate({identifier:`RelationshipRepairProposalDraft`}),$o=c({proposalId:xo.fields.proposalId,environmentId:xo.fields.environmentId,expectedRevision:xo.fields.expectedRevision,disposition:ho,rationale:go}).annotate({identifier:`CreateRelationshipRepairProposalRequest`}),es=c({releaseId:A,environmentId:g(j),status:g(xo.fields.status),truncated:b,proposals:X(xo,128),applications:X(bo,128)}).annotate({identifier:`RelationshipRepairProposalList`}),ts=c({reviewId:tr,decision:vo,rationale:go}).annotate({identifier:`ReviewRelationshipRepairProposalRequest`}),ns=c({application:bo,relationship:oo}).annotate({identifier:`ApplyRelationshipRepairProposalResponse`}),Z=[F,S,cr,f,y],rs=T(`releaseSlice`,`/api/v1/relationships/releases/:releaseId`,{params:{releaseId:A},query:{environmentId:H(j)},success:Fo,error:Z}).middleware(I),is=T(`workspaceEntityProjections`,`/api/v1/items`,{query:{q:H(G.check(W(),D(),P(200))),owner:H(R),service:H(Ma),status:H(Na),type:H(ja)},success:Vo,error:Z}).middleware(I),as=h(`resolveCodeCommitPullRequest`,`/api/v1/codecommit/pull-requests/resolve`,{payload:Cr,success:Uo,error:Z}).middleware(I).middleware(cn),os=T(`workspaceEntity`,`/api/v1/items/:entityId`,{params:{entityId:r},success:qo,error:Z}).middleware(I),ss=w({"correct-association":{expectedRevision:zn,jiraIssueKey:G.check(W(),or(/^[A-Z][A-Z0-9]*-[1-9][0-9]*$/u),P(100))},"record-approval":{expectedRevision:zn,decision:m([`approved`,`rejected`]),rationale:G.check(W(),D(),P(1e3))}}),cs=c({actionId:pn,state:He}),ls=h(`submitClockifyAction`,`/api/v1/items/:entityId/clockify-actions`,{params:{entityId:r},payload:ss,success:cs,error:[...Z,u,Bt]}).middleware(I).middleware(cn),us=T(`relationship`,`/api/v1/relationships/:relationshipId`,{params:{relationshipId:O},query:{revision:H(Ft.pipe(M(Y)))},success:oo,error:Z}).middleware(I),ds=T(`repairCandidates`,`/api/v1/relationships/releases/:releaseId/repair-candidates`,{params:{releaseId:A},query:{environmentId:H(j)},success:Zo,error:Z}).middleware(I),fs=T(`repairProposalDraft`,`/api/v1/relationships/releases/:releaseId/repair-candidates/:relationshipId/proposal-draft`,{params:{releaseId:A,relationshipId:O},query:{environmentId:H(j),revision:Ft.pipe(M(Y))},success:Qo,error:Z}).middleware(I),ps=h(`createRepairProposal`,`/api/v1/relationships/releases/:releaseId/repair-candidates/:relationshipId/proposals`,{params:{releaseId:A,relationshipId:O},payload:$o,success:xo,error:[...Z,u,Bt,at]}).middleware(I).middleware(cn),ms=T(`listRepairProposals`,`/api/v1/relationships/releases/:releaseId/repair-proposals`,{params:{releaseId:A},query:{environmentId:H(j),status:H(xo.fields.status)},success:es,error:Z}).middleware(I),hs=T(`getRepairProposal`,`/api/v1/relationships/repair-proposals/:proposalId`,{params:{proposalId:Cn},success:xo,error:Z}).middleware(I),gs=h(`reviewRepairProposal`,`/api/v1/relationships/repair-proposals/:proposalId/reviews`,{params:{proposalId:Cn},payload:ts,success:xo,error:[...Z,u,Bt,at]}).middleware(I).middleware(cn),_s=h(`applyRepairProposal`,`/api/v1/relationships/repair-proposals/:proposalId/applications`,{params:{proposalId:Cn},success:ns,error:[...Z,u,Bt]}).middleware(I).middleware(cn),vs=T(`relationshipHistory`,`/api/v1/relationships/:relationshipId/history`,{params:{relationshipId:O},success:Jo,error:Z}).middleware(I),ys=T(`evidence`,`/api/v1/evidence/:evidenceId`,{params:{evidenceId:Vn},success:Yo,error:Z}).middleware(I),bs=class extends he(`deliveryGraph`).add(is,as,os,ls,rs,ds,fs,ps,ms,hs,gs,_s,us,vs,ys){},xs=500,Ss=G.check(or(/^sha256:[0-9a-f]{64}$/u,{expected:`a lowercase SHA-256 diff-file anchor`})).pipe(xt(`DiffFileAnchor`)),Cs=c({...oe.fields,anchor:Ss}).annotate({identifier:`CompleteDiffInventoryEntry`}),ws=c({entries:p(Cs).check(C(e=>e.length<=xs,{expected:`at most ${xs} changed files`})),ready:x(!0)}).annotate({identifier:`CompleteDiffInventory`}),Ts=v.pipe(At(B(0)),At(Dn(1048576))),Es=v.pipe(At(Yt({minimum:1,maximum:1048576}))),Ds=oe.fields.path,Os=c({bytesBase64:g(G.check(P(1398104))),totalBytes:g(v.check(B(0))),unavailableReason:g(m([`binary`,`generated`,`oversized`,`missing`,`provider-unavailable`]))}).check(C(({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`}),ks=[u,F,S,cr,Bt,ie,f,y],As=T(`inventory`,`/:pluginConnectionId/pull-requests/:vendorImmutableId/inventory`,{params:c({pluginConnectionId:Kn,vendorImmutableId:St}),query:c({revision:zn}),success:ws,error:ks}).middleware(I),js=c({revision:zn,anchor:Ss,path:Ds,previousPath:g(Ds),status:oe.fields.status,side:m([`before`,`after`]),offset:Ts,length:Es}).annotate({identifier:`CompleteDiffContentRequest`}),Ms=h(`content`,`/:pluginConnectionId/pull-requests/:vendorImmutableId/content`,{params:c({pluginConnectionId:Kn,vendorImmutableId:St}),payload:js,success:Os,error:[...ks,at]}).middleware(I),Ns=class extends he(`diff`).add(As).add(Ms).prefix(`/api/v1/diffs`){},Ps=Ft.pipe(M(Xn)),Fs=c({reason:m([`retention`,`cursor-ahead`,`gap`,`replay-budget`]),requestedCursor:Xn,headCursor:Xn,prunedThroughCursor:Xn}).annotate({identifier:`StreamResetRequired`}),Is=c({eventCursor:Xn,sentAt:E}).annotate({identifier:`StreamHeartbeat`}),Ls=c({id:Ps,event:x(`portfolio.snapshot`),data:qn(Wn)}).annotate({identifier:`PortfolioSnapshotLiveEvent`}),Rs=c({id:Ps,event:x(`portfolio.invalidated`),data:qn(Ae)}).annotate({identifier:`PortfolioInvalidatedLiveEvent`}),zs=c({id:H(fe),event:x(`stream.reset-required`),data:qn(Fs)}).annotate({identifier:`StreamResetRequiredLiveEvent`}),Bs=c({id:H(fe),event:x(`stream.heartbeat`),data:qn(Is)}).annotate({identifier:`StreamHeartbeatLiveEvent`}),Vs=V([Ls,Rs,zs,Bs]).annotate({identifier:`ControlCenterLiveEvent`}),Hs=T(`stream`,`/api/v1/events`,{query:{after:H(Ps)},headers:{"last-event-id":H(Ps)},success:Ge({events:Vs}),error:[u,F,S,ie,f,y]}).middleware(I),Us=class extends he(`liveEvents`).add(Hs){},Ws=G.check(or(/^media_[0-9a-f]{64}$/u,{expected:`an opaque SHA-256 media identifier`})).pipe(xt(`OpaqueMediaId`)),Gs=m([`image/avif`,`image/jpeg`,`image/png`,`image/webp`]);c({"x-correlation-id":pr,"content-type":Gs,"content-length":Ft,"cache-control":x(`private, no-store`),"x-content-type-options":x(`nosniff`)}).annotate({identifier:`MediaResponseHeaders`});var Ks=T(`read`,`/:mediaId`,{params:c({mediaId:Ws}),success:e({contentType:`application/octet-stream`}),error:[F,S,cr,f,y]}).middleware(I),qs=class extends he(`media`).add(Ks).prefix(`/api/v1/media`){},Js=c({shareId:Fn,entityId:r,granteePersonId:R,expiresAt:E}),Ys=c({shareId:Fn,entityId:r,granteePersonId:R,createdAt:E,expiresAt:E,revokedAt:g(E)}).annotate({identifier:`AuthorizedShareSummary`}),Xs=c({share:Ys,item:Po}).annotate({identifier:`AuthorizedShareResolution`}),Zs=[F,S,f,y],Qs=h(`create`,`/`,{payload:Js,success:Ys,error:[...Zs,u,cr,Bt]}).middleware(I).middleware(cn),$s=T(`resolve`,`/:workspaceId/:shareId`,{params:c({workspaceId:L,shareId:Fn}),success:Xs,error:[...Zs,cr]}).middleware(I),ec=ct(`revoke`,`/:workspaceId/:shareId`,{params:c({workspaceId:L,shareId:Fn}),success:Dt,error:[...Zs,cr]}).middleware(I).middleware(cn),tc=class extends he(`shares`).add(Qs,$s,ec).prefix(`/api/v1/shares`){},nc=Ft.pipe(At(B(1),Dn(100))),rc=Ft.pipe(At(B(1),Dn(1e3))),ic=m([`application/json; charset=utf-8`,`text/csv; charset=utf-8`]);c({"cache-control":x(`private, no-store`),"content-disposition":m([`attachment; filename="timeline-export.csv"`,`attachment; filename="timeline-export.json"`]),"content-type":ic,"x-content-type-options":x(`nosniff`),"x-timeline-export-count":Ft,"x-timeline-export-limit":rc,"x-timeline-export-truncated":m([`false`,`true`])}).annotate({identifier:`TimelineExportResponseHeaders`});var ac={actor:H(So),from:H(E),limit:rc,to:H(E)},oc=[u,F,S,f,y],sc=T(`page`,`/api/v1/timeline`,{query:{actor:H(So),beforeEventKey:H(G.check(D(),P(1024))),beforeOccurredAt:H(E),from:H(E),limit:H(nc),to:H(E)},success:jo,error:oc}).middleware(I),cc=T(`detail`,`/api/v1/timeline/events/:eventKey`,{params:{eventKey:To.fields.eventKey},success:Ao,error:[u,F,S,cr,f,y]}).middleware(I),lc=T(`exportCsv`,`/api/v1/timeline/export.csv`,{query:ac,success:e({contentType:`text/csv; charset=utf-8`}),error:oc}).middleware(I),uc=T(`exportJson`,`/api/v1/timeline/export.json`,{query:ac,success:e({contentType:`application/json; charset=utf-8`}),error:oc}).middleware(I),dc=class extends he(`timeline`).add(sc).add(cc).add(lc).add(uc){},Q=(e,t)=>v.check(Yt({minimum:e,maximum:t})),fc=G.check(W(),D(),P(200),or(/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/u,{expected:`a bounded agent model identifier`})),pc=C(e=>e.every((t,n)=>n===0||(e[n-1]??``)<t),{expected:`values in canonical ascending order`}),mc=m([`agent`,`inference`,`investigation`,`jira`,`pipeline`,`presentation`,`retention`,`synchronization`]);p(mc).check(U(),pc,C(e=>e.length<=8,{expected:`at most eight workspace settings sections`}));var hc=m([`agent`,`jira`,`pipeline`,`retention`]),gc=p(hc).check(U(),pc,C(e=>e.length<=4,{expected:`at most four governed settings sections`})),$=c({schemaVersion:x(1),inference:c({enabled:b,minimumConfidencePercent:Q(0,100)}),synchronization:c({cadence:m([`manual`,`interval`]),intervalMinutes:g(Q(5,10080)),staleAfterMinutes:Q(5,43200)}).check(C(({cadence:e,intervalMinutes:t})=>e===`manual`?t===null:t!==null,{expected:`an interval only for interval synchronization`})),retention:c({evidenceDays:Q(1,3650),contentDays:Q(1,3650),auditDays:Q(1,3650),agentActivityDays:Q(1,365),sandboxArtifactDays:Q(1,30)}).check(C(({auditDays:e,evidenceDays:t})=>e>=t,{expected:`audit retention not shorter than evidence retention`}),C(({agentActivityDays:e,sandboxArtifactDays:t})=>e>=t,{expected:`agent activity retention not shorter than sandbox artifact retention`})),investigation:c({mode:m([`manual`,`automatic`]),consecutiveFailureThreshold:Q(1,20)}),jira:c({commentMode:m([`manual-only`,`confirm-before-publish`]),includeControlCenterAttribution:b}),pipeline:c({retryMode:m([`manual-only`,`confirm-before-retry`]),maximumAttempts:Q(1,10)}),agent:c({allowedProviders:p(ft).check(U(),pc,C(e=>e.length<=16,{expected:`at most sixteen allowed agent providers`})),defaultProvider:g(ft),defaultModel:g(fc),toolPolicy:m([`read-only`,`review-sandbox`]),profilePolicy:m([`isolated`,`local-profile`])}).check(C(({allowedProviders:e,defaultProvider:t})=>t===null||e.includes(t),{expected:`the default agent provider to be allowed`}),C(({defaultModel:e,defaultProvider:t})=>e===null||t!==null,{expected:`a default provider when a default model is configured`})),presentation:c({density:m([`comfortable`,`compact`]),defaultLanding:m([`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 _c=Be($.fields.agent),vc=Be($.fields.inference),yc=Be($.fields.investigation),bc=Be($.fields.jira),xc=Be($.fields.pipeline),Sc=Be($.fields.presentation),Cc=Be($.fields.retention),wc=Be($.fields.synchronization),Tc=mc.literals,Ec=(e,t,n)=>{switch(e){case`agent`:return!_c(t.agent,n.agent);case`inference`:return!vc(t.inference,n.inference);case`investigation`:return!yc(t.investigation,n.investigation);case`jira`:return!bc(t.jira,n.jira);case`pipeline`:return!xc(t.pipeline,n.pipeline);case`presentation`:return!Sc(t.presentation,n.presentation);case`retention`:return!Cc(t.retention,n.retention);case`synchronization`:return!wc(t.synchronization,n.synchronization)}},Dc=(e,t)=>Tc.filter(n=>Ec(n,e,t)),Oc=e=>wn(hc)(e),kc=v.check(N(0)).pipe(xt(`WorkspaceSettingsRevision`)),Ac=G.check(or(/^"workspace-settings-v1-[1-9][0-9]*"$/u,{expected:`a strong version-one workspace-settings ETag`})).pipe(xt(`WorkspaceSettingsEtag`)),jc=c({workspaceId:L,revision:kc,etag:Ac,settings:$,createdAt:E,updatedAt:E,updatedByPersonId:g(R)}).annotate({identifier:`WorkspaceSettingsReadModel`}),Mc=c({workspaceId:L,revision:kc,presentation:$.fields.presentation}).annotate({identifier:`WorkspacePresentationReadModel`}),Nc=c({mutationId:un,expectedRevision:kc,settings:$,acknowledgedGovernedSections:gc}).annotate({identifier:`UpdateWorkspaceSettingsRequest`}),Pc=[F,S,f,y],Fc=T(`read`,`/`,{success:jc,error:Pc}).middleware(I),Ic=T(`readPresentation`,`/presentation`,{success:Mc,error:Pc}).middleware(I),Lc=Ct(`update`,`/`,{payload:Nc,success:jc,error:[...Pc,u,Bt]}).middleware(I).middleware(cn),Rc=class extends he(`workspaceSettings`).add(Fc,Ic,Lc).prefix(`/api/v1/settings`){},zc=class extends qr(`ControlCenterApi`).add(Pn).add(tc).add($n).add(Mn).add(bs).add(Ns).add(oa).add(qs).add(Us).add(dc).add(Rc).add(Yn){},Bc=e=>ci(zc,e);export{Hr as a,Oc as i,$ as n,jr as o,Dc as r,Bc as t};
5
+ //# sourceMappingURL=client-D3WRV6yl.js.map