@knpkv/control-center 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/README.md +70 -17
  2. package/dist/client/.vite/manifest.json +223 -178
  3. package/dist/client/assets/{ActiveWorkPage-DJQgGZeV.js → ActiveWorkPage-g2-Jyavo.js} +2 -2
  4. package/dist/client/assets/{ActiveWorkPage-DJQgGZeV.js.map → ActiveWorkPage-g2-Jyavo.js.map} +1 -1
  5. package/dist/client/assets/AgentPage-B6GQdZAs.css +1 -0
  6. package/dist/client/assets/AgentPage-DmVsEe13.js +6 -0
  7. package/dist/client/assets/AgentPage-DmVsEe13.js.map +1 -0
  8. package/dist/client/assets/AtlassianOAuthCallbackPage-C8u9ItMj.js +2 -0
  9. package/dist/client/assets/{AtlassianOAuthCallbackPage-D1F1xE_2.js.map → AtlassianOAuthCallbackPage-C8u9ItMj.js.map} +1 -1
  10. package/dist/client/assets/AuthorizedSharePage-CVBJ1NTm.js +2 -0
  11. package/dist/client/assets/AuthorizedSharePage-CVBJ1NTm.js.map +1 -0
  12. package/dist/client/assets/BrowserCrypto-3BoTVFdl.js +2 -0
  13. package/dist/client/assets/{BrowserCrypto-DVWR7DFd.js.map → BrowserCrypto-3BoTVFdl.js.map} +1 -1
  14. package/dist/client/assets/BrowserSessionHydrator-CpZnNm4X.js +2 -0
  15. package/dist/client/assets/BrowserSessionHydrator-CpZnNm4X.js.map +1 -0
  16. package/dist/client/assets/CommandSearch-DUeRRbV2.js +2 -0
  17. package/dist/client/assets/{CommandSearch-CP_QCbkm.js.map → CommandSearch-DUeRRbV2.js.map} +1 -1
  18. package/dist/client/assets/ItemsPage-BF2ZkSzh.js +2 -0
  19. package/dist/client/assets/{ItemsPage-BGFUkRL2.js.map → ItemsPage-BF2ZkSzh.js.map} +1 -1
  20. package/dist/client/assets/{PairPage-DIgzx0K2.js → PairPage-CkaZltHd.js} +2 -2
  21. package/dist/client/assets/{PairPage-DIgzx0K2.js.map → PairPage-CkaZltHd.js.map} +1 -1
  22. package/dist/client/assets/PortfolioOverview-CEUHJmGC.js +2 -0
  23. package/dist/client/assets/PortfolioOverview-CEUHJmGC.js.map +1 -0
  24. package/dist/client/assets/PullRequestReviewPanel-D1IpvHe2.js +6 -0
  25. package/dist/client/assets/PullRequestReviewPanel-D1IpvHe2.js.map +1 -0
  26. package/dist/client/assets/ReleaseRoute-BuQybrsg.js +2 -0
  27. package/dist/client/assets/{ReleaseRoute-DXJ8Jg60.js.map → ReleaseRoute-BuQybrsg.js.map} +1 -1
  28. package/dist/client/assets/ReleaseWorkset-BclY0Nvj.js +2 -0
  29. package/dist/client/assets/ReleaseWorkset-BclY0Nvj.js.map +1 -0
  30. package/dist/client/assets/ServicesPage-hw5Ee69-.js +2 -0
  31. package/dist/client/assets/ServicesPage-hw5Ee69-.js.map +1 -0
  32. package/dist/client/assets/TimelinePage-Cj3V98uI.js +2 -0
  33. package/dist/client/assets/TimelinePage-Cj3V98uI.js.map +1 -0
  34. package/dist/client/assets/WorkspaceEntityLink-C_rc8lxi.js +2 -0
  35. package/dist/client/assets/{WorkspaceEntityLink-AdZ_T-Wk.js.map → WorkspaceEntityLink-C_rc8lxi.js.map} +1 -1
  36. package/dist/client/assets/WorkspaceEntityRoute-DLLT6fY0.css +1 -0
  37. package/dist/client/assets/WorkspaceEntityRoute-kbnrQ_lY.js +14 -0
  38. package/dist/client/assets/WorkspaceEntityRoute-kbnrQ_lY.js.map +1 -0
  39. package/dist/client/assets/WorkspaceHomeLink-DeYYLEsH.js +2 -0
  40. package/dist/client/assets/{WorkspaceHomeLink-XbKSPths.js.map → WorkspaceHomeLink-DeYYLEsH.js.map} +1 -1
  41. package/dist/client/assets/{WorkspacePullRequestDetails-BErJ5bk8.js → WorkspacePullRequestDetails-CizqydjN.js} +3 -3
  42. package/dist/client/assets/WorkspacePullRequestDetails-CizqydjN.js.map +1 -0
  43. package/dist/client/assets/{WorkspaceReleaseLayout-cfboC5Qh.js → WorkspaceReleaseLayout-CXAQUhkh.js} +2 -2
  44. package/dist/client/assets/{WorkspaceReleaseLayout-cfboC5Qh.js.map → WorkspaceReleaseLayout-CXAQUhkh.js.map} +1 -1
  45. package/dist/client/assets/{WorkspaceRichText-D1M637Ff.js → WorkspaceRichText-CCOciILO.js} +2 -2
  46. package/dist/client/assets/WorkspaceRichText-CCOciILO.js.map +1 -0
  47. package/dist/client/assets/WorkspaceSettingsPage-GoBfQzBx.css +1 -0
  48. package/dist/client/assets/WorkspaceSettingsPage-JG-pN_CA.js +2 -0
  49. package/dist/client/assets/WorkspaceSettingsPage-JG-pN_CA.js.map +1 -0
  50. package/dist/client/assets/agent-api-Dl9TuGOJ.js +19 -0
  51. package/dist/client/assets/agent-api-Dl9TuGOJ.js.map +1 -0
  52. package/dist/client/assets/atlassianOAuthSetupIntentStorage-DE4ySCTb.js +2 -0
  53. package/dist/client/assets/atlassianOAuthSetupIntentStorage-DE4ySCTb.js.map +1 -0
  54. package/dist/client/assets/authenticatedMutationClient-DdowMjyo.js +2 -0
  55. package/dist/client/assets/{authenticatedMutationClient-Ccwguc3i.js.map → authenticatedMutationClient-DdowMjyo.js.map} +1 -1
  56. package/dist/client/assets/authorizedShareTransport-CnclcYai.js +2 -0
  57. package/dist/client/assets/{authorizedShareTransport-DZHgFEkh.js.map → authorizedShareTransport-CnclcYai.js.map} +1 -1
  58. package/dist/client/assets/client-Dq_XQE_l.js +5 -0
  59. package/dist/client/assets/client-Dq_XQE_l.js.map +1 -0
  60. package/dist/client/assets/confluenceTasks-DtKq8_eU.js +5 -0
  61. package/dist/client/assets/confluenceTasks-DtKq8_eU.js.map +1 -0
  62. package/dist/client/assets/connectionTestTransport-CPK98z7H.js +2 -0
  63. package/dist/client/assets/connectionTestTransport-CPK98z7H.js.map +1 -0
  64. package/dist/client/assets/index-zVjlBm9l.js +11 -0
  65. package/dist/client/assets/index-zVjlBm9l.js.map +1 -0
  66. package/dist/client/assets/{patterns-5N-j-AD2-BwypFm-e.js → patterns-5N-j-AD2-DLfaGePK.js} +2 -2
  67. package/dist/client/assets/{patterns-5N-j-AD2-BwypFm-e.js.map → patterns-5N-j-AD2-DLfaGePK.js.map} +1 -1
  68. package/dist/client/assets/{presentPortfolio-D3ZIcnqt.js → presentPortfolio-DLEq-vEz.js} +2 -2
  69. package/dist/client/assets/presentPortfolio-DLEq-vEz.js.map +1 -0
  70. package/dist/client/assets/{presentWorkspaceItems-Bmh4oEbH.js → presentWorkspaceItems-BOY3FbhO.js} +2 -2
  71. package/dist/client/assets/{presentWorkspaceItems-Bmh4oEbH.js.map → presentWorkspaceItems-BOY3FbhO.js.map} +1 -1
  72. package/dist/client/assets/{pullRequestReviewFailures-S74M-fOk.js → pullRequestReviewFailures-CyjTVnSX.js} +2 -2
  73. package/dist/client/assets/{pullRequestReviewFailures-S74M-fOk.js.map → pullRequestReviewFailures-CyjTVnSX.js.map} +1 -1
  74. package/dist/client/assets/pullRequestReviewThreadReplay-CXHspFTr.js +2 -0
  75. package/dist/client/assets/pullRequestReviewThreadReplay-CXHspFTr.js.map +1 -0
  76. package/dist/client/assets/releaseAgentTransport-DaO4svPu.js +2 -0
  77. package/dist/client/assets/releaseAgentTransport-DaO4svPu.js.map +1 -0
  78. package/dist/client/assets/releaseRoutes-B4ciNOJj.js +2 -0
  79. package/dist/client/assets/{releaseRoutes-BCuIdZyA.js.map → releaseRoutes-B4ciNOJj.js.map} +1 -1
  80. package/dist/client/assets/serviceOnboarding-D0FmodRi.js +2 -0
  81. package/dist/client/assets/{serviceOnboarding-Jg_0yNjf.js.map → serviceOnboarding-D0FmodRi.js.map} +1 -1
  82. package/dist/client/assets/{useWorkspaceDefaultLanding-CzlDdEF-.js → useWorkspaceDefaultLanding-BaQdg0sY.js} +3 -3
  83. package/dist/client/assets/{useWorkspaceDefaultLanding-CzlDdEF-.js.map → useWorkspaceDefaultLanding-BaQdg0sY.js.map} +1 -1
  84. package/dist/client/assets/{useWorkspaceItems-Cd3MPke2.js → useWorkspaceItems-B-7JHtm0.js} +2 -2
  85. package/dist/client/assets/{useWorkspaceItems-Cd3MPke2.js.map → useWorkspaceItems-B-7JHtm0.js.map} +1 -1
  86. package/dist/client/assets/workspaceEntityRoutes-DqqDa0AB.js +2 -0
  87. package/dist/client/assets/workspaceEntityRoutes-DqqDa0AB.js.map +1 -0
  88. package/dist/client/assets/workspaceScrollCapture-BYNfR2wo.js +2 -0
  89. package/dist/client/assets/workspaceScrollCapture-BYNfR2wo.js.map +1 -0
  90. package/dist/client/assets/workspaceSettingsTransport-Br4lBmvS.js +2 -0
  91. package/dist/client/assets/{workspaceSettingsTransport-CZWYL5T7.js.map → workspaceSettingsTransport-Br4lBmvS.js.map} +1 -1
  92. package/dist/client/build-graph.json +115 -0
  93. package/dist/client/index.html +1 -1
  94. package/dist/server/api/agent.d.ts +575 -44
  95. package/dist/server/api/agent.d.ts.map +1 -1
  96. package/dist/server/api/deliveryGraph.d.ts +474 -454
  97. package/dist/server/api/deliveryGraph.d.ts.map +1 -1
  98. package/dist/server/api/index.d.ts +2 -2
  99. package/dist/server/api/index.d.ts.map +1 -1
  100. package/dist/server/api/index.js +4 -4
  101. package/dist/server/api/liveEvents.d.ts +20 -0
  102. package/dist/server/api/liveEvents.d.ts.map +1 -1
  103. package/dist/server/api/portfolio.d.ts +23 -0
  104. package/dist/server/api/portfolio.d.ts.map +1 -1
  105. package/dist/server/api/session.d.ts +23 -1
  106. package/dist/server/api/session.d.ts.map +1 -1
  107. package/dist/server/api/shares.d.ts +4 -2
  108. package/dist/server/api/shares.d.ts.map +1 -1
  109. package/dist/server/assets/{BindConfig-DIsf2Rnh.js → BindConfig-DAASchDn.js} +2405 -322
  110. package/dist/server/assets/BindConfig-DAASchDn.js.map +1 -0
  111. package/dist/server/assets/{CodePipelineStateDecoder-CVf1A2zG.js → CodePipelineStateDecoder-CNiFRgSi.js} +2 -2
  112. package/dist/server/assets/{CodePipelineStateDecoder-CVf1A2zG.js.map → CodePipelineStateDecoder-CNiFRgSi.js.map} +1 -1
  113. package/dist/server/assets/{agent-CyZ40zs1.js → agent-xQhAQXly.js} +181 -11
  114. package/dist/server/assets/agent-xQhAQXly.js.map +1 -0
  115. package/dist/server/assets/{controlCenterApi-ZUX3Y-LE.js → controlCenterApi-DNXK7MT1.js} +6 -5
  116. package/dist/server/assets/controlCenterApi-DNXK7MT1.js.map +1 -0
  117. package/dist/server/assets/{descriptor-CKtTnhef.js → descriptor-CCvNzSZL.js} +10 -10
  118. package/dist/server/assets/{descriptor-CKtTnhef.js.map → descriptor-CCvNzSZL.js.map} +1 -1
  119. package/dist/server/assets/{failures-mgYDkUZy.js → failures-CesHLYbN.js} +2 -2
  120. package/dist/server/assets/{failures-mgYDkUZy.js.map → failures-CesHLYbN.js.map} +1 -1
  121. package/dist/server/assets/{firstPartyServices-D7b8BOek.js → firstPartyServices-Cdzjcs2H.js} +2 -2
  122. package/dist/server/assets/{firstPartyServices-D7b8BOek.js.map → firstPartyServices-Cdzjcs2H.js.map} +1 -1
  123. package/dist/server/assets/{manualPluginSynchronization-DFlhKvav.js → manualPluginSynchronization-DFIeUHP9.js} +6 -5
  124. package/dist/server/assets/manualPluginSynchronization-DFIeUHP9.js.map +1 -0
  125. package/dist/server/assets/{plugins-D__oMDpI.js → plugins-DiPrfzV8.js} +2 -2
  126. package/dist/server/assets/{plugins-D__oMDpI.js.map → plugins-DiPrfzV8.js.map} +1 -1
  127. package/dist/server/assets/{readiness-BhA-Nr9c.js → readiness-31Mqc-9H.js} +3 -3
  128. package/dist/server/assets/{readiness-BhA-Nr9c.js.map → readiness-31Mqc-9H.js.map} +1 -1
  129. package/dist/server/assets/{relationshipInferenceMaterialization-DYBcaWhQ.js → relationshipInferenceMaterialization-Dyix96px.js} +1158 -169
  130. package/dist/server/assets/relationshipInferenceMaterialization-Dyix96px.js.map +1 -0
  131. package/dist/server/assets/{workspaceSettings-BE713Oe8.js → workspaceSettings-sv8h_h2P.js} +2787 -2700
  132. package/dist/server/assets/workspaceSettings-sv8h_h2P.js.map +1 -0
  133. package/dist/server/build-graph.json +144 -4
  134. package/dist/server/domain/actors.d.ts +12 -12
  135. package/dist/server/domain/confluenceTasks.d.ts +27 -0
  136. package/dist/server/domain/confluenceTasks.d.ts.map +1 -0
  137. package/dist/server/domain/deliveryGraph.d.ts +51 -49
  138. package/dist/server/domain/deliveryGraph.d.ts.map +1 -1
  139. package/dist/server/domain/governedAction/bindings.d.ts +26 -12
  140. package/dist/server/domain/governedAction/bindings.d.ts.map +1 -1
  141. package/dist/server/domain/governedAction/lifecycle.d.ts +8 -8
  142. package/dist/server/domain/governedAction/model.d.ts +45 -18
  143. package/dist/server/domain/governedAction/model.d.ts.map +1 -1
  144. package/dist/server/domain/governedAction/stateMachine.d.ts +34 -34
  145. package/dist/server/domain/index.js +6 -6
  146. package/dist/server/domain/normalizedIssue.d.ts +1 -1
  147. package/dist/server/domain/normalizedPage.d.ts +1 -0
  148. package/dist/server/domain/normalizedPage.d.ts.map +1 -1
  149. package/dist/server/domain/prReview.d.ts +38 -0
  150. package/dist/server/domain/prReview.d.ts.map +1 -1
  151. package/dist/server/domain/prReviewReconciliation.d.ts +56 -0
  152. package/dist/server/domain/prReviewReconciliation.d.ts.map +1 -0
  153. package/dist/server/domain/prReviewRevision.d.ts +1 -0
  154. package/dist/server/domain/prReviewRevision.d.ts.map +1 -1
  155. package/dist/server/domain/readiness/model.d.ts +3 -3
  156. package/dist/server/domain/release.d.ts +3 -3
  157. package/dist/server/domain/releasePipelineApproval.d.ts +31 -0
  158. package/dist/server/domain/releasePipelineApproval.d.ts.map +1 -0
  159. package/dist/server/domain/releasePublication.d.ts +4 -0
  160. package/dist/server/domain/releasePublication.d.ts.map +1 -0
  161. package/dist/server/index.js +8 -8
  162. package/dist/server/server/agent/AgentJobWorker.d.ts +10 -1
  163. package/dist/server/server/agent/AgentJobWorker.d.ts.map +1 -1
  164. package/dist/server/server/agent/ReleaseAgentPrompt.d.ts.map +1 -1
  165. package/dist/server/server/agent/internal/AgentJobTaskExecutor.d.ts +4 -3
  166. package/dist/server/server/agent/internal/AgentJobTaskExecutor.d.ts.map +1 -1
  167. package/dist/server/server/agent/internal/PrReviewSandboxSession.d.ts +17 -1
  168. package/dist/server/server/agent/internal/PrReviewSandboxSession.d.ts.map +1 -1
  169. package/dist/server/server/agent/internal/PrReviewTaskExecutor.d.ts +76 -2
  170. package/dist/server/server/agent/internal/PrReviewTaskExecutor.d.ts.map +1 -1
  171. package/dist/server/server/agent/internal/PrReviewTelemetry.d.ts +27 -0
  172. package/dist/server/server/agent/internal/PrReviewTelemetry.d.ts.map +1 -0
  173. package/dist/server/server/api/ApplicationServices.d.ts +39 -5
  174. package/dist/server/server/api/ApplicationServices.d.ts.map +1 -1
  175. package/dist/server/server/api/Handlers.d.ts +1 -1
  176. package/dist/server/server/api/Handlers.d.ts.map +1 -1
  177. package/dist/server/server/api/RequestBoundary.d.ts.map +1 -1
  178. package/dist/server/server/application/GovernedReviewSuggestionPublicationGateway.d.ts.map +1 -1
  179. package/dist/server/server/application/ReviewSuggestionPublicationGateway.d.ts +4 -0
  180. package/dist/server/server/application/ReviewSuggestionPublicationGateway.d.ts.map +1 -1
  181. package/dist/server/server/application/deliveryGraphInspection.d.ts.map +1 -1
  182. package/dist/server/server/application/index.d.ts +1 -0
  183. package/dist/server/server/application/index.d.ts.map +1 -1
  184. package/dist/server/server/application/liveEvents.d.ts.map +1 -1
  185. package/dist/server/server/application/normalizedPluginPageMaterialization.d.ts.map +1 -1
  186. package/dist/server/server/application/pipelineExecutionProjection.d.ts +7 -6
  187. package/dist/server/server/application/pipelineExecutionProjection.d.ts.map +1 -1
  188. package/dist/server/server/application/portfolioSnapshots.d.ts +2018 -4
  189. package/dist/server/server/application/portfolioSnapshots.d.ts.map +1 -1
  190. package/dist/server/server/application/pullRequestReviews.d.ts.map +1 -1
  191. package/dist/server/server/application/releaseAgent.d.ts +11 -3
  192. package/dist/server/server/application/releaseAgent.d.ts.map +1 -1
  193. package/dist/server/server/application/releasePublicationIntent.d.ts +7 -0
  194. package/dist/server/server/application/releasePublicationIntent.d.ts.map +1 -0
  195. package/dist/server/server/application/releasePublicationMetadata.d.ts +61 -0
  196. package/dist/server/server/application/releasePublicationMetadata.d.ts.map +1 -0
  197. package/dist/server/server/application/releasePublicationSubmissions.d.ts +3730 -0
  198. package/dist/server/server/application/releasePublicationSubmissions.d.ts.map +1 -0
  199. package/dist/server/server/application/releaseRunbookHydration.d.ts +2310 -0
  200. package/dist/server/server/application/releaseRunbookHydration.d.ts.map +1 -0
  201. package/dist/server/server/application/releaseSynchronization.d.ts.map +1 -1
  202. package/dist/server/server/cli.js +8 -8
  203. package/dist/server/server/cli.js.map +1 -1
  204. package/dist/server/server/governance/governedActionDigests.d.ts +236 -218
  205. package/dist/server/server/governance/governedActionDigests.d.ts.map +1 -1
  206. package/dist/server/server/governance/internal/GovernedActionExecutionEngine.d.ts +3 -4
  207. package/dist/server/server/governance/internal/GovernedActionExecutionEngine.d.ts.map +1 -1
  208. package/dist/server/server/governance/internal/execution-store/begin.d.ts.map +1 -1
  209. package/dist/server/server/governance/internal/execution-store/dispatch-inbox.d.ts +1 -1
  210. package/dist/server/server/governance/internal/execution-store/dispatch-outcome.d.ts +8 -8
  211. package/dist/server/server/governance/internal/execution-store/provider-outcome-fold.d.ts +2 -2
  212. package/dist/server/server/governance/internal/execution-store/reconciliation-inbox.d.ts +1 -1
  213. package/dist/server/server/governance/internal/execution-store/recovery-claim.d.ts +37 -30
  214. package/dist/server/server/governance/internal/execution-store/recovery-claim.d.ts.map +1 -1
  215. package/dist/server/server/index.js +5 -5
  216. package/dist/server/server/internal/codepipeline-state-probe.js +1 -1
  217. package/dist/server/server/persistence/Database.d.ts +1 -1
  218. package/dist/server/server/persistence/Database.d.ts.map +1 -1
  219. package/dist/server/server/persistence/Persistence.d.ts +1549 -577
  220. package/dist/server/server/persistence/Persistence.d.ts.map +1 -1
  221. package/dist/server/server/persistence/backup/BackupArchive.d.ts.map +1 -1
  222. package/dist/server/server/persistence/object-store/BlobPublisher.d.ts.map +1 -1
  223. package/dist/server/server/persistence/object-store/PinnedDirectory.d.ts +2 -2
  224. package/dist/server/server/persistence/object-store/PinnedDirectory.d.ts.map +1 -1
  225. package/dist/server/server/persistence/repositories/agentJobModels.d.ts +345 -8
  226. package/dist/server/server/persistence/repositories/agentJobModels.d.ts.map +1 -1
  227. package/dist/server/server/persistence/repositories/agentJobRepository.d.ts +654 -192
  228. package/dist/server/server/persistence/repositories/agentJobRepository.d.ts.map +1 -1
  229. package/dist/server/server/persistence/repositories/delivery-graph/contract.d.ts +148 -138
  230. package/dist/server/server/persistence/repositories/delivery-graph/contract.d.ts.map +1 -1
  231. package/dist/server/server/persistence/repositories/delivery-graph/decode.d.ts +27 -25
  232. package/dist/server/server/persistence/repositories/delivery-graph/decode.d.ts.map +1 -1
  233. package/dist/server/server/persistence/repositories/delivery-graph/read.d.ts +117 -111
  234. package/dist/server/server/persistence/repositories/delivery-graph/read.d.ts.map +1 -1
  235. package/dist/server/server/persistence/repositories/delivery-graph/rows.d.ts +28 -27
  236. package/dist/server/server/persistence/repositories/delivery-graph/rows.d.ts.map +1 -1
  237. package/dist/server/server/persistence/repositories/delivery-graph/write.d.ts +50 -48
  238. package/dist/server/server/persistence/repositories/delivery-graph/write.d.ts.map +1 -1
  239. package/dist/server/server/persistence/repositories/deliveryGraphRepository.d.ts +117 -111
  240. package/dist/server/server/persistence/repositories/deliveryGraphRepository.d.ts.map +1 -1
  241. package/dist/server/server/persistence/repositories/governed-action/codec.d.ts +259 -234
  242. package/dist/server/server/persistence/repositories/governed-action/codec.d.ts.map +1 -1
  243. package/dist/server/server/persistence/repositories/governed-action/contract.d.ts +68 -46
  244. package/dist/server/server/persistence/repositories/governed-action/contract.d.ts.map +1 -1
  245. package/dist/server/server/persistence/repositories/governed-action/read.d.ts +668 -190
  246. package/dist/server/server/persistence/repositories/governed-action/read.d.ts.map +1 -1
  247. package/dist/server/server/persistence/repositories/governed-action/transaction.d.ts +680 -206
  248. package/dist/server/server/persistence/repositories/governed-action/transaction.d.ts.map +1 -1
  249. package/dist/server/server/persistence/repositories/governed-action/write-preparation.d.ts +38 -31
  250. package/dist/server/server/persistence/repositories/governed-action/write-preparation.d.ts.map +1 -1
  251. package/dist/server/server/persistence/repositories/governed-action/write-replay.d.ts +46 -32
  252. package/dist/server/server/persistence/repositories/governed-action/write-replay.d.ts.map +1 -1
  253. package/dist/server/server/persistence/repositories/governed-action/write.d.ts +46 -32
  254. package/dist/server/server/persistence/repositories/governed-action/write.d.ts.map +1 -1
  255. package/dist/server/server/persistence/repositories/governedActionRepository.d.ts +678 -205
  256. package/dist/server/server/persistence/repositories/governedActionRepository.d.ts.map +1 -1
  257. package/dist/server/server/persistence/repositories/internal/reviewSuggestionRevisions.d.ts +85 -4
  258. package/dist/server/server/persistence/repositories/internal/reviewSuggestionRevisions.d.ts.map +1 -1
  259. package/dist/server/server/persistence/repositories/models.d.ts +9 -9
  260. package/dist/server/server/persistence/repositories/peopleRepository.d.ts +36 -36
  261. package/dist/server/server/persistence/repositories/providerAccountRepository.d.ts +1 -1
  262. package/dist/server/server/persistence/repositories/readiness/assessments.d.ts +6 -6
  263. package/dist/server/server/persistence/repositories/readiness/contract.d.ts +450 -450
  264. package/dist/server/server/persistence/repositories/readiness/queue.d.ts +14 -14
  265. package/dist/server/server/persistence/repositories/readinessRepository.d.ts +7 -7
  266. package/dist/server/server/persistence/repositories/releaseRepository.d.ts +18 -18
  267. package/dist/server/server/persistence/repositories/retentionRepository.d.ts.map +1 -1
  268. package/dist/server/server/persistence/repositories/timelineRepository.d.ts +4 -4
  269. package/dist/server/server/plugins/atlassian/AtlassianOAuthGrants.d.ts.map +1 -1
  270. package/dist/server/server/plugins/atlassian/AtlassianOAuthScopes.d.ts +9 -0
  271. package/dist/server/server/plugins/atlassian/AtlassianOAuthScopes.d.ts.map +1 -0
  272. package/dist/server/server/plugins/atlassian/AtlassianProfiles.d.ts.map +1 -1
  273. package/dist/server/server/plugins/codecommit/CodeCommitPluginDefinition.d.ts.map +1 -1
  274. package/dist/server/server/plugins/jira/JiraReadPlugin.d.ts +2 -2
  275. package/dist/server/server/plugins/jira/JiraReadPlugin.d.ts.map +1 -1
  276. package/dist/server/server/plugins/jira/JiraReadProvider.d.ts.map +1 -1
  277. package/dist/server/server/plugins/jira/JiraReleaseVersionLimits.d.ts +8 -0
  278. package/dist/server/server/plugins/jira/JiraReleaseVersionLimits.d.ts.map +1 -0
  279. package/dist/server/server/plugins/jira/index.d.ts +1 -1
  280. package/dist/server/server/plugins/jira/index.d.ts.map +1 -1
  281. package/dist/server/server/runtime/Bootstrap.d.ts +1 -1
  282. package/dist/server/server/runtime/Bootstrap.d.ts.map +1 -1
  283. package/dist/server/server/runtime/ControlCenterServer.d.ts +3 -3
  284. package/dist/server/server/runtime/ControlCenterServer.d.ts.map +1 -1
  285. package/dist/server/server/runtime/PrReviewWorkerStartup.d.ts +11 -1
  286. package/dist/server/server/runtime/PrReviewWorkerStartup.d.ts.map +1 -1
  287. package/dist/server/server/runtime/RetentionStartup.d.ts.map +1 -1
  288. package/dist/server/server/runtime/ServerLifecycle.d.ts.map +1 -1
  289. package/dist/server/server/secrets/SecretStore.d.ts.map +1 -1
  290. package/package.json +10 -9
  291. package/dist/client/assets/AgentPage-DGL93TJU.js +0 -3
  292. package/dist/client/assets/AgentPage-DGL93TJU.js.map +0 -1
  293. package/dist/client/assets/AgentPage-DVSgQgJa.css +0 -1
  294. package/dist/client/assets/AtlassianOAuthCallbackPage-D1F1xE_2.js +0 -2
  295. package/dist/client/assets/AuthorizedSharePage-DCQUFY2I.js +0 -2
  296. package/dist/client/assets/AuthorizedSharePage-DCQUFY2I.js.map +0 -1
  297. package/dist/client/assets/BrowserCrypto-DVWR7DFd.js +0 -2
  298. package/dist/client/assets/BrowserSessionHydrator-DE46feEX.js +0 -2
  299. package/dist/client/assets/BrowserSessionHydrator-DE46feEX.js.map +0 -1
  300. package/dist/client/assets/CommandSearch-CP_QCbkm.js +0 -2
  301. package/dist/client/assets/ItemsPage-BGFUkRL2.js +0 -2
  302. package/dist/client/assets/PortfolioOverview-D45rk8Hl.js +0 -2
  303. package/dist/client/assets/PortfolioOverview-D45rk8Hl.js.map +0 -1
  304. package/dist/client/assets/PullRequestReviewPanel-CqPtjhVW.js +0 -6
  305. package/dist/client/assets/PullRequestReviewPanel-CqPtjhVW.js.map +0 -1
  306. package/dist/client/assets/ReleaseRoute-DXJ8Jg60.js +0 -2
  307. package/dist/client/assets/ReleaseWorkset-Dtzalmji.js +0 -2
  308. package/dist/client/assets/ReleaseWorkset-Dtzalmji.js.map +0 -1
  309. package/dist/client/assets/ServicesPage-DGcUjd2H.js +0 -2
  310. package/dist/client/assets/ServicesPage-DGcUjd2H.js.map +0 -1
  311. package/dist/client/assets/TimelinePage-Bq1RTQlP.js +0 -2
  312. package/dist/client/assets/TimelinePage-Bq1RTQlP.js.map +0 -1
  313. package/dist/client/assets/WorkspaceEntityLink-AdZ_T-Wk.js +0 -2
  314. package/dist/client/assets/WorkspaceEntityRoute-9iMOV64J.css +0 -1
  315. package/dist/client/assets/WorkspaceEntityRoute-Bxxnc8us.js +0 -3
  316. package/dist/client/assets/WorkspaceEntityRoute-Bxxnc8us.js.map +0 -1
  317. package/dist/client/assets/WorkspaceHomeLink-XbKSPths.js +0 -2
  318. package/dist/client/assets/WorkspacePullRequestDetails-BErJ5bk8.js.map +0 -1
  319. package/dist/client/assets/WorkspaceRichText-D1M637Ff.js.map +0 -1
  320. package/dist/client/assets/WorkspaceSettingsPage-Fy7Wx8Y2.js +0 -2
  321. package/dist/client/assets/WorkspaceSettingsPage-Fy7Wx8Y2.js.map +0 -1
  322. package/dist/client/assets/WorkspaceSettingsPage-P6yfac0b.css +0 -1
  323. package/dist/client/assets/agent-api-QVqt4a0O.js +0 -19
  324. package/dist/client/assets/agent-api-QVqt4a0O.js.map +0 -1
  325. package/dist/client/assets/authenticatedMutationClient-Ccwguc3i.js +0 -2
  326. package/dist/client/assets/authorizedShareTransport-DZHgFEkh.js +0 -2
  327. package/dist/client/assets/client-D27unen8.js +0 -5
  328. package/dist/client/assets/client-D27unen8.js.map +0 -1
  329. package/dist/client/assets/connectionTestTransport-BQ55d6Me.js +0 -2
  330. package/dist/client/assets/connectionTestTransport-BQ55d6Me.js.map +0 -1
  331. package/dist/client/assets/index-j5ze816l.js +0 -11
  332. package/dist/client/assets/index-j5ze816l.js.map +0 -1
  333. package/dist/client/assets/presentPortfolio-D3ZIcnqt.js.map +0 -1
  334. package/dist/client/assets/pullRequestReviewThreadReplay-oljKM7Xz.js +0 -2
  335. package/dist/client/assets/pullRequestReviewThreadReplay-oljKM7Xz.js.map +0 -1
  336. package/dist/client/assets/releaseRoutes-BCuIdZyA.js +0 -2
  337. package/dist/client/assets/serviceOnboarding-Jg_0yNjf.js +0 -2
  338. package/dist/client/assets/workspaceScrollCapture-CJ4QUptr.js +0 -2
  339. package/dist/client/assets/workspaceScrollCapture-CJ4QUptr.js.map +0 -1
  340. package/dist/client/assets/workspaceSettingsTransport-CZWYL5T7.js +0 -2
  341. package/dist/server/assets/BindConfig-DIsf2Rnh.js.map +0 -1
  342. package/dist/server/assets/agent-CyZ40zs1.js.map +0 -1
  343. package/dist/server/assets/controlCenterApi-ZUX3Y-LE.js.map +0 -1
  344. package/dist/server/assets/manualPluginSynchronization-DFlhKvav.js.map +0 -1
  345. package/dist/server/assets/relationshipInferenceMaterialization-DYBcaWhQ.js.map +0 -1
  346. package/dist/server/assets/workspaceSettings-BE713Oe8.js.map +0 -1
@@ -8,17 +8,18 @@ import type { Success } from "effect/Effect";
8
8
  import * as Layer from "effect/Layer";
9
9
  import * as Option from "effect/Option";
10
10
  import * as Schema from "effect/Schema";
11
- import { PrReviewSuggestionRevision } from "../../../domain/prReviewRevision.js";
11
+ import { PrReviewSuggestionAgentAuthor, PrReviewSuggestionRevision } from "../../../domain/prReviewRevision.js";
12
12
  import { Database } from "../Database.js";
13
13
  import { PersistedRecordError, PersistenceOperationError, RecordNotFoundError } from "../errors.js";
14
14
  import { AgentJobInputError } from "./agentJobModels.js";
15
+ export declare const PROCESS_RESTART_INTERRUPTION_MESSAGE = "Review interrupted because the Control Center process restarted.";
15
16
  declare const makeAgentJobRepository: Effect.Effect<{
16
17
  appendReviewSuggestionRevision: (input: {
17
- readonly suggestionId: string & import("effect/Brand").Brand<"PrReviewSuggestionId">;
18
+ readonly author: import("../../../domain/prReviewRevision.js").PrReviewSuggestionOperatorAuthor | PrReviewSuggestionAgentAuthor;
19
+ readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
18
20
  readonly jobId: string & import("effect/Brand").Brand<"JobId">;
19
- readonly author: import("../../../domain/prReviewRevision.js").PrReviewSuggestionOperatorAuthor | import("../../../domain/prReviewRevision.js").PrReviewSuggestionAgentAuthor;
21
+ readonly suggestionId: string & import("effect/Brand").Brand<"PrReviewSuggestionId">;
20
22
  readonly createdAt: DateTime.Utc;
21
- readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
22
23
  readonly expectedRevisionId: string & import("effect/Brand").Brand<"PrReviewSuggestionRevisionId">;
23
24
  readonly expectedSequence: number & import("effect/Brand").Brand<"PrReviewSuggestionRevisionSequence">;
24
25
  readonly edit: {
@@ -41,14 +42,14 @@ declare const makeAgentJobRepository: Effect.Effect<{
41
42
  readonly _tag: Schema.Literal<"changes">;
42
43
  }, "Type">;
43
44
  readonly impact: string;
44
- readonly severity: "P1" | "P2" | "P3" | "P4";
45
- readonly problem: string;
46
45
  readonly evidence: Schema.Struct.ReadonlySide<{
47
46
  readonly excerpt: Schema.String;
48
47
  readonly path: Schema.brand<Schema.String, "PrReviewPath">;
49
48
  readonly startLine: Schema.Int;
50
49
  readonly endLine: Schema.Int;
51
50
  }, "Type">;
51
+ readonly severity: "P1" | "P2" | "P3" | "P4";
52
+ readonly problem: string;
52
53
  readonly recommendation: string;
53
54
  readonly relatedLocations: readonly Schema.Struct.ReadonlySide<{
54
55
  readonly label: Schema.String;
@@ -78,8 +79,99 @@ declare const makeAgentJobRepository: Effect.Effect<{
78
79
  readonly explanation: Schema.String;
79
80
  }, "Type">;
80
81
  };
81
- readonly state?: "dismissed";
82
+ readonly state?: "stale" | "dismissed";
83
+ readonly dismissalReason?: "false-positive" | "not-applicable" | "accepted-risk" | "duplicate" | "other";
84
+ readonly validation?: "validated";
85
+ readonly leaseFence?: Schema.Struct.ReadonlySide<{
86
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
87
+ readonly attemptSequence: Schema.brand<Schema.Int, "AgentAttemptSequence">;
88
+ readonly leaseToken: Schema.brand<Schema.String, "AgentLeaseToken">;
89
+ }, "Type">;
82
90
  }) => Effect.Effect<PrReviewSuggestionRevision, RecordNotFoundError | PersistenceOperationError | import("../errors.js").RevisionConflictError | PersistedRecordError | AgentJobInputError, never>;
91
+ completeTargetedReview: (input: Schema.Struct.ReadonlySide<{
92
+ readonly source: Schema.Struct<{
93
+ readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
94
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
95
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
96
+ readonly expectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
97
+ readonly expectedSequence: Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">;
98
+ readonly edit: Schema.Struct<{
99
+ title: Schema.String;
100
+ severity: Schema.Literals<readonly ["P1", "P2", "P3", "P4"]>;
101
+ problem: Schema.String;
102
+ impact: Schema.String;
103
+ evidence: Schema.Struct<{
104
+ readonly excerpt: Schema.String;
105
+ readonly path: Schema.brand<Schema.String, "PrReviewPath">;
106
+ readonly startLine: Schema.Int;
107
+ readonly endLine: Schema.Int;
108
+ }>;
109
+ recommendation: Schema.String;
110
+ confidence: Schema.Struct<{
111
+ readonly level: Schema.Literals<readonly ["low", "medium", "high"]>;
112
+ readonly reason: Schema.String;
113
+ }>;
114
+ relatedLocations: Schema.$Array<Schema.Struct<{
115
+ readonly label: Schema.String;
116
+ readonly path: Schema.brand<Schema.String, "PrReviewPath">;
117
+ readonly startLine: Schema.Int;
118
+ readonly endLine: Schema.Int;
119
+ }>>;
120
+ prevention: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
121
+ readonly summary: Schema.String;
122
+ readonly enforcement: Schema.Literals<readonly ["ast-grep", "ESLint", "type-check", "test", "instruction"]>;
123
+ readonly existingRuleOrConfig: Schema.String;
124
+ readonly recurrenceEvidence: Schema.String;
125
+ readonly targetFile: Schema.brand<Schema.String, "PrReviewPath">;
126
+ readonly sourcePaths: Schema.$Array<Schema.brand<Schema.String, "PrReviewPath">>;
127
+ readonly matcherOrInvariant: Schema.String;
128
+ readonly invalidFixture: Schema.String;
129
+ readonly validFixture: Schema.String;
130
+ readonly boundary: Schema.String;
131
+ }>, Schema.Struct<{
132
+ readonly summary: Schema.String;
133
+ readonly enforcement: Schema.Literal<"none">;
134
+ readonly rationale: Schema.String;
135
+ }>]>>;
136
+ replacement: Schema.optionalKey<Schema.Struct<{
137
+ readonly reviewedHead: Schema.String;
138
+ readonly unifiedDiff: Schema.String;
139
+ readonly explanation: Schema.String;
140
+ }>>;
141
+ anchor: Schema.Union<readonly [Schema.Struct<{
142
+ readonly _tag: Schema.Literal<"line">;
143
+ readonly path: Schema.brand<Schema.String, "PrReviewPath">;
144
+ readonly line: Schema.Int;
145
+ readonly relativeFileVersion: Schema.withDecodingDefaultTypeKey<Schema.Literal<"AFTER">, never>;
146
+ }>, Schema.Struct<{
147
+ readonly _tag: Schema.Literal<"file">;
148
+ readonly path: Schema.brand<Schema.String, "PrReviewPath">;
149
+ readonly line: Schema.Int;
150
+ readonly relativeFileVersion: Schema.withDecodingDefaultTypeKey<Schema.Literals<readonly ["BEFORE", "AFTER"]>, never>;
151
+ }>, Schema.Struct<{
152
+ readonly _tag: Schema.Literal<"changes">;
153
+ }>]>;
154
+ }>;
155
+ readonly state: Schema.optionalKey<Schema.Literals<readonly ["dismissed", "stale"]>>;
156
+ readonly dismissalReason: Schema.optionalKey<Schema.optionalKey<Schema.Literals<readonly ["false-positive", "not-applicable", "accepted-risk", "duplicate", "other"]>>>;
157
+ readonly validation: Schema.optionalKey<Schema.Literal<"validated">>;
158
+ readonly author: Schema.toTaggedUnion<"_tag", readonly [typeof import("../../../domain/prReviewRevision.js").PrReviewSuggestionOperatorAuthor, typeof PrReviewSuggestionAgentAuthor]>;
159
+ readonly createdAt: Schema.DateTimeUtcFromString;
160
+ readonly leaseFence: Schema.optionalKey<Schema.Struct<{
161
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
162
+ readonly attemptSequence: Schema.brand<Schema.Int, "AgentAttemptSequence">;
163
+ readonly leaseToken: Schema.brand<Schema.String, "AgentLeaseToken">;
164
+ }>>;
165
+ }>;
166
+ readonly target: Schema.Struct<{
167
+ readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
168
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
169
+ readonly attemptSequence: Schema.brand<Schema.Int, "AgentAttemptSequence">;
170
+ readonly leaseToken: Schema.brand<Schema.String, "AgentLeaseToken">;
171
+ readonly report: Schema.Unknown;
172
+ readonly completedAt: Schema.DateTimeUtcFromString;
173
+ }>;
174
+ }, "Type">) => Effect.Effect<PrReviewSuggestionRevision, unknown, never>;
83
175
  enqueue: (input: Schema.Struct.ReadonlySide<{
84
176
  readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
85
177
  readonly releaseId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ReleaseId">;
@@ -107,6 +199,18 @@ declare const makeAgentJobRepository: Effect.Effect<{
107
199
  readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
108
200
  readonly sandbox: Schema.Literal<"sbx">;
109
201
  }>;
202
+ intent: Schema.optionalKey<Schema.Literals<readonly ["full-review", "suggestion-edit", "suggestion-revalidation"]>>;
203
+ target: Schema.optionalKey<Schema.Struct<{
204
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
205
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
206
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
207
+ readonly history: Schema.Struct<{
208
+ readonly current: typeof PrReviewSuggestionRevision;
209
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
210
+ readonly hasMore: Schema.Boolean;
211
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
212
+ }>;
213
+ }>>;
110
214
  }>]>;
111
215
  readonly createdAt: Schema.DateTimeUtcFromString;
112
216
  }, "Type">) => Effect.Effect<string & import("effect/Brand").Brand<"AgentThreadId">, Schema.SchemaError | RecordNotFoundError | import("../errors.js").RecordAlreadyExistsError | PersistenceOperationError | PersistedRecordError | AgentJobInputError, never>;
@@ -117,20 +221,15 @@ declare const makeAgentJobRepository: Effect.Effect<{
117
221
  readonly leaseToken: Schema.brand<Schema.String, "AgentLeaseToken">;
118
222
  readonly claimedAt: Schema.DateTimeUtcFromString;
119
223
  readonly leaseExpiresAt: Schema.DateTimeUtcFromString;
120
- }, "Type">) => Effect.Effect<Option.Option<Schema.Struct.ReadonlySide<{
121
- readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
122
- readonly releaseId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ReleaseId">;
123
- readonly threadId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AgentThreadId">;
124
- readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
125
- readonly attemptSequence: Schema.brand<Schema.Int, "AgentAttemptSequence">;
126
- readonly leaseOwner: Schema.brand<Schema.String, "AgentLeaseOwner">;
127
- readonly leaseToken: Schema.brand<Schema.String, "AgentLeaseToken">;
128
- readonly leaseExpiresAt: Schema.DateTimeUtcFromString;
129
- readonly providerId: Schema.brand<Schema.String, "AgentProviderId">;
130
- readonly model: Schema.NullOr<Schema.String>;
131
- readonly access: Schema.Literals<readonly ["read-only", "workspace-write"]>;
132
- readonly prompt: Schema.String;
133
- readonly context: Schema.Struct<{
224
+ }, "Type">) => Effect.Effect<Option.Option<{
225
+ readonly providerId: string & import("effect/Brand").Brand<"AgentProviderId">;
226
+ readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
227
+ readonly releaseId: string & import("effect/Brand").Brand<"ReleaseId">;
228
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
229
+ readonly model: string | null;
230
+ readonly prompt: string;
231
+ readonly access: "read-only" | "workspace-write";
232
+ readonly context: Schema.Struct.ReadonlySide<{
134
233
  readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
135
234
  readonly releaseId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ReleaseId">;
136
235
  readonly subjectRevision: Schema.String;
@@ -152,7 +251,7 @@ declare const makeAgentJobRepository: Effect.Effect<{
152
251
  readonly baseRevision: Schema.String;
153
252
  readonly headRevision: Schema.String;
154
253
  }>;
155
- readonly state: Schema.Literals<readonly ["cancelled", "failed", "succeeded", "unknown"]>;
254
+ readonly state: Schema.Literals<readonly ["cancelled", "failed", "interrupted", "succeeded", "unknown"]>;
156
255
  readonly requestedAt: Schema.DateTimeUtcFromString;
157
256
  readonly suggestionTitles: Schema.$Array<Schema.String>;
158
257
  readonly suggestionsTruncated: Schema.Boolean;
@@ -177,11 +276,30 @@ declare const makeAgentJobRepository: Effect.Effect<{
177
276
  readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
178
277
  readonly sandbox: Schema.Literal<"sbx">;
179
278
  }>;
279
+ readonly intent: Schema.optionalKey<Schema.Literals<readonly ["full-review", "suggestion-edit", "suggestion-revalidation"]>>;
280
+ readonly target: Schema.optionalKey<Schema.Struct<{
281
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
282
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
283
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
284
+ readonly history: Schema.Struct<{
285
+ readonly current: typeof PrReviewSuggestionRevision;
286
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
287
+ readonly hasMore: Schema.Boolean;
288
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
289
+ }>;
290
+ }>>;
180
291
  }>]>;
181
- }>;
182
- readonly sessionRef: Schema.NullOr<Schema.brand<Schema.String, "AgentSessionRef">>;
183
- readonly cancellationRequested: Schema.Boolean;
184
- }, "Type">>, Schema.SchemaError | PersistenceOperationError | PersistedRecordError | AgentJobInputError, never>;
292
+ }, "Type">;
293
+ readonly sessionRef: (string & import("effect/Brand").Brand<"AgentSessionRef">) | null;
294
+ readonly threadId: string & import("effect/Brand").Brand<"AgentThreadId">;
295
+ readonly attemptSequence: number & import("effect/Brand").Brand<"AgentAttemptSequence">;
296
+ readonly leaseOwner: string & import("effect/Brand").Brand<"AgentLeaseOwner">;
297
+ readonly leaseToken: string & import("effect/Brand").Brand<"AgentLeaseToken">;
298
+ readonly leaseExpiresAt: DateTime.Utc;
299
+ readonly cancellationRequested: boolean;
300
+ readonly reviewBudgetMillis?: number;
301
+ readonly reviewBudgetExtensionCount?: number;
302
+ }>, Schema.SchemaError | PersistenceOperationError | PersistedRecordError | AgentJobInputError, never>;
185
303
  isLeaseActive: (workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">, jobId: string & import("effect/Brand").Brand<"JobId">) => Effect.Effect<boolean, PersistenceOperationError | PersistedRecordError, never>;
186
304
  heartbeat: (input: Schema.Struct.ReadonlySide<{
187
305
  readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
@@ -217,35 +335,160 @@ declare const makeAgentJobRepository: Effect.Effect<{
217
335
  }>]>;
218
336
  readonly occurredAt: Schema.DateTimeUtcFromString;
219
337
  }, "Type">) => Effect.Effect<{
220
- readonly payload: unknown;
221
- readonly jobId: string & import("effect/Brand").Brand<"JobId">;
222
338
  readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
223
- readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
339
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
224
340
  readonly occurredAt: DateTime.Utc;
341
+ readonly payload: unknown;
342
+ readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
225
343
  readonly threadId: string & import("effect/Brand").Brand<"AgentThreadId">;
226
344
  readonly attemptSequence: (number & import("effect/Brand").Brand<"AgentAttemptSequence">) | null;
227
- readonly eventKind: "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "cancel-requested" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
345
+ readonly eventKind: "cancel-requested" | "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
228
346
  readonly task?: Schema.Struct.ReadonlySide<{
229
347
  readonly _tag: Schema.tag<"release-chat">;
230
- }, "Type"> | Schema.Struct.ReadonlySide<{
231
- readonly _tag: Schema.tag<"pr-review">;
232
- pluginConnectionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "PluginConnectionId">;
233
- subject: Schema.Struct<{
348
+ }, "Type"> | {
349
+ readonly pluginConnectionId: string & import("effect/Brand").Brand<"PluginConnectionId">;
350
+ readonly _tag: "pr-review";
351
+ readonly subject: Schema.Struct.ReadonlySide<{
234
352
  readonly providerId: Schema.Literal<"codecommit">;
235
353
  readonly repository: Schema.String;
236
354
  readonly pullRequestId: Schema.String;
237
355
  readonly baseRevision: Schema.String;
238
356
  readonly headRevision: Schema.String;
239
- }>;
240
- reviewProfile: Schema.Struct<{
357
+ }, "Type">;
358
+ readonly reviewProfile: Schema.Struct.ReadonlySide<{
241
359
  readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
242
360
  readonly label: Schema.String;
243
361
  readonly budgetMillis: Schema.Int;
244
362
  readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
245
363
  readonly sandbox: Schema.Literal<"sbx">;
246
- }>;
247
- }, "Type">;
364
+ }, "Type">;
365
+ readonly target?: Schema.Struct.ReadonlySide<{
366
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
367
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
368
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
369
+ readonly history: Schema.Struct<{
370
+ readonly current: typeof PrReviewSuggestionRevision;
371
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
372
+ readonly hasMore: Schema.Boolean;
373
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
374
+ }>;
375
+ }, "Type">;
376
+ readonly intent?: "suggestion-edit" | "suggestion-revalidation" | "full-review";
377
+ };
248
378
  }, unknown, never>;
379
+ recordReviewProgress: (input: Schema.Struct.ReadonlySide<{
380
+ readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
381
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
382
+ readonly attemptSequence: Schema.brand<Schema.Int, "AgentAttemptSequence">;
383
+ readonly leaseToken: Schema.brand<Schema.String, "AgentLeaseToken">;
384
+ readonly report: Schema.Unknown;
385
+ readonly occurredAt: Schema.DateTimeUtcFromString;
386
+ }, "Type">) => Effect.Effect<Schema.Struct.ReadonlySide<{
387
+ readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
388
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
389
+ readonly attemptSequence: Schema.brand<Schema.Int, "AgentAttemptSequence">;
390
+ readonly report: Schema.Struct<{
391
+ readonly schemaVersion: Schema.Literal<3>;
392
+ readonly subject: Schema.Struct<{
393
+ readonly providerId: Schema.Literal<"codecommit">;
394
+ readonly repository: Schema.String;
395
+ readonly pullRequestId: Schema.String;
396
+ readonly baseRevision: Schema.String;
397
+ readonly headRevision: Schema.String;
398
+ }>;
399
+ readonly completion: Schema.Union<readonly [Schema.Struct<{
400
+ readonly status: Schema.Literal<"complete">;
401
+ }>, Schema.Struct<{
402
+ readonly status: Schema.Literal<"unable-to-conclude">;
403
+ readonly reason: Schema.String;
404
+ }>]>;
405
+ readonly suggestions: Schema.$Array<Schema.Struct<{
406
+ readonly anchor: Schema.Union<readonly [Schema.Struct<{
407
+ readonly _tag: Schema.Literal<"line">;
408
+ readonly path: Schema.brand<Schema.String, "PrReviewPath">;
409
+ readonly line: Schema.Int;
410
+ readonly relativeFileVersion: Schema.withDecodingDefaultTypeKey<Schema.Literal<"AFTER">, never>;
411
+ }>, Schema.Struct<{
412
+ readonly _tag: Schema.Literal<"file">;
413
+ readonly path: Schema.brand<Schema.String, "PrReviewPath">;
414
+ readonly line: Schema.Int;
415
+ readonly relativeFileVersion: Schema.withDecodingDefaultTypeKey<Schema.Literals<readonly ["BEFORE", "AFTER"]>, never>;
416
+ }>, Schema.Struct<{
417
+ readonly _tag: Schema.Literal<"changes">;
418
+ }>]>;
419
+ readonly title: Schema.String;
420
+ readonly severity: Schema.Literals<readonly ["P1", "P2", "P3", "P4"]>;
421
+ readonly problem: Schema.String;
422
+ readonly impact: Schema.String;
423
+ readonly evidence: Schema.Struct<{
424
+ readonly excerpt: Schema.String;
425
+ readonly path: Schema.brand<Schema.String, "PrReviewPath">;
426
+ readonly startLine: Schema.Int;
427
+ readonly endLine: Schema.Int;
428
+ }>;
429
+ readonly recommendation: Schema.String;
430
+ readonly confidence: Schema.Struct<{
431
+ readonly level: Schema.Literals<readonly ["low", "medium", "high"]>;
432
+ readonly reason: Schema.String;
433
+ }>;
434
+ readonly relatedLocations: Schema.$Array<Schema.Struct<{
435
+ readonly label: Schema.String;
436
+ readonly path: Schema.brand<Schema.String, "PrReviewPath">;
437
+ readonly startLine: Schema.Int;
438
+ readonly endLine: Schema.Int;
439
+ }>>;
440
+ readonly prevention: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
441
+ readonly summary: Schema.String;
442
+ readonly enforcement: Schema.Literals<readonly ["ast-grep", "ESLint", "type-check", "test", "instruction"]>;
443
+ readonly existingRuleOrConfig: Schema.String;
444
+ readonly recurrenceEvidence: Schema.String;
445
+ readonly targetFile: Schema.brand<Schema.String, "PrReviewPath">;
446
+ readonly sourcePaths: Schema.$Array<Schema.brand<Schema.String, "PrReviewPath">>;
447
+ readonly matcherOrInvariant: Schema.String;
448
+ readonly invalidFixture: Schema.String;
449
+ readonly validFixture: Schema.String;
450
+ readonly boundary: Schema.String;
451
+ }>, Schema.Struct<{
452
+ readonly summary: Schema.String;
453
+ readonly enforcement: Schema.Literal<"none">;
454
+ readonly rationale: Schema.String;
455
+ }>]>>;
456
+ readonly replacement: Schema.optionalKey<Schema.Struct<{
457
+ readonly reviewedHead: Schema.String;
458
+ readonly unifiedDiff: Schema.String;
459
+ readonly explanation: Schema.String;
460
+ }>>;
461
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
462
+ readonly state: Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>;
463
+ readonly dismissalReason: Schema.optionalKey<Schema.Literals<readonly ["false-positive", "not-applicable", "accepted-risk", "duplicate", "other"]>>;
464
+ }>>;
465
+ readonly notes: Schema.$Array<Schema.Struct<{
466
+ readonly reason: Schema.Literals<readonly ["low-confidence", "pre-existing"]>;
467
+ readonly title: Schema.String;
468
+ readonly observation: Schema.String;
469
+ readonly confidence: Schema.Struct<{
470
+ readonly level: Schema.Literals<readonly ["low", "medium", "high"]>;
471
+ readonly reason: Schema.String;
472
+ }>;
473
+ readonly location: Schema.optionalKey<Schema.Struct<{
474
+ readonly path: Schema.brand<Schema.String, "PrReviewPath">;
475
+ readonly startLine: Schema.Int;
476
+ readonly endLine: Schema.Int;
477
+ }>>;
478
+ readonly noteId: Schema.brand<Schema.String, "PrReviewNoteId">;
479
+ }>>;
480
+ readonly transitions: Schema.optionalKey<Schema.$Array<Schema.Struct<{
481
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
482
+ readonly transition: Schema.Literals<readonly ["new", "still-present", "resolved", "reopened"]>;
483
+ readonly previousState: Schema.NullOr<Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>>;
484
+ readonly currentState: Schema.NullOr<Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>>;
485
+ readonly previousDismissalReason: Schema.optionalKey<Schema.Literals<readonly ["false-positive", "not-applicable", "accepted-risk", "duplicate", "other"]>>;
486
+ readonly previousHead: Schema.NullOr<Schema.String>;
487
+ readonly currentHead: Schema.String;
488
+ }>>>;
489
+ }>;
490
+ readonly completedAt: Schema.DateTimeUtcFromString;
491
+ }, "Type">, Schema.SchemaError | RecordNotFoundError | PersistenceOperationError | PersistedRecordError | AgentJobInputError, never>;
249
492
  completeReview: (input: Schema.Struct.ReadonlySide<{
250
493
  readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
251
494
  readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
@@ -330,6 +573,7 @@ declare const makeAgentJobRepository: Effect.Effect<{
330
573
  }>>;
331
574
  readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
332
575
  readonly state: Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>;
576
+ readonly dismissalReason: Schema.optionalKey<Schema.Literals<readonly ["false-positive", "not-applicable", "accepted-risk", "duplicate", "other"]>>;
333
577
  }>>;
334
578
  readonly notes: Schema.$Array<Schema.Struct<{
335
579
  readonly reason: Schema.Literals<readonly ["low-confidence", "pre-existing"]>;
@@ -346,31 +590,56 @@ declare const makeAgentJobRepository: Effect.Effect<{
346
590
  }>>;
347
591
  readonly noteId: Schema.brand<Schema.String, "PrReviewNoteId">;
348
592
  }>>;
593
+ readonly transitions: Schema.optionalKey<Schema.$Array<Schema.Struct<{
594
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
595
+ readonly transition: Schema.Literals<readonly ["new", "still-present", "resolved", "reopened"]>;
596
+ readonly previousState: Schema.NullOr<Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>>;
597
+ readonly currentState: Schema.NullOr<Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>>;
598
+ readonly previousDismissalReason: Schema.optionalKey<Schema.Literals<readonly ["false-positive", "not-applicable", "accepted-risk", "duplicate", "other"]>>;
599
+ readonly previousHead: Schema.NullOr<Schema.String>;
600
+ readonly currentHead: Schema.String;
601
+ }>>>;
349
602
  }>;
350
603
  readonly completedAt: Schema.DateTimeUtcFromString;
351
604
  }, "Type">, unknown, never>;
352
- reserveReviewSuggestionPublication: (input: Schema.Struct.ReadonlySide<{
605
+ readReviewSuggestionPublication: (input: Schema.Struct.ReadonlySide<{
353
606
  readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
354
607
  readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
355
608
  readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
356
609
  readonly revisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
357
- readonly contentDigest: Schema.brand<Schema.String, "ReviewSuggestionPublicationDigest">;
358
- readonly reservationId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ReviewSuggestionPublicationReservationId">;
359
- readonly reservedAt: Schema.DateTimeUtcFromString;
360
610
  }, "Type">) => Effect.Effect<Schema.Struct.ReadonlySide<{
361
- readonly _tag: Schema.tag<"acquired">;
362
- }, "Type"> | Schema.Struct.ReadonlySide<{
363
- readonly _tag: Schema.tag<"in-progress">;
364
- }, "Type"> | Schema.Struct.ReadonlySide<{
365
- readonly _tag: Schema.tag<"recoverable">;
611
+ readonly state: Schema.Literal<"published">;
366
612
  readonly publicationId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "GovernedActionId">;
367
- readonly publishedAt: Schema.DateTimeUtcFromString;
368
- readonly reservationId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ReviewSuggestionPublicationReservationId">;
369
- }, "Type"> | Schema.Struct.ReadonlySide<{
370
- readonly _tag: Schema.tag<"published">;
371
- readonly publicationId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "GovernedActionId">;
372
- readonly publishedAt: Schema.DateTimeUtcFromString;
373
- }, "Type">, unknown, never>;
613
+ readonly commentId: Schema.brand<Schema.String, "ReviewSuggestionPublicationCommentId">;
614
+ }, "Type"> | null, Schema.SchemaError | PersistedRecordError | import("effect/unstable/sql/SqlError").SqlError, never>;
615
+ reserveReviewSuggestionPublication: (input: {
616
+ readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
617
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
618
+ readonly suggestionId: string & import("effect/Brand").Brand<"PrReviewSuggestionId">;
619
+ readonly revisionId: string & import("effect/Brand").Brand<"PrReviewSuggestionRevisionId">;
620
+ readonly contentDigest: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationDigest">;
621
+ readonly reservationId: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationReservationId">;
622
+ readonly reservedAt: DateTime.Utc;
623
+ readonly operation?: "reply" | "create" | "update";
624
+ readonly commentId?: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationCommentId">;
625
+ }) => Effect.Effect<{
626
+ readonly _tag: "acquired";
627
+ readonly commentId?: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationCommentId">;
628
+ } | {
629
+ readonly _tag: "in-progress";
630
+ readonly commentId?: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationCommentId">;
631
+ } | {
632
+ readonly _tag: "recoverable";
633
+ readonly publishedAt: DateTime.Utc;
634
+ readonly publicationId: string & import("effect/Brand").Brand<"GovernedActionId">;
635
+ readonly reservationId: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationReservationId">;
636
+ readonly commentId?: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationCommentId">;
637
+ } | {
638
+ readonly _tag: "published";
639
+ readonly publishedAt: DateTime.Utc;
640
+ readonly publicationId: string & import("effect/Brand").Brand<"GovernedActionId">;
641
+ readonly commentId?: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationCommentId">;
642
+ }, unknown, never>;
374
643
  releaseReviewSuggestionPublication: (input: Schema.Struct.ReadonlySide<{
375
644
  readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
376
645
  readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
@@ -378,16 +647,18 @@ declare const makeAgentJobRepository: Effect.Effect<{
378
647
  readonly revisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
379
648
  readonly contentDigest: Schema.brand<Schema.String, "ReviewSuggestionPublicationDigest">;
380
649
  readonly reservationId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ReviewSuggestionPublicationReservationId">;
381
- }, "Type">) => Effect.Effect<void, Schema.SchemaError | PersistenceOperationError, never>;
650
+ }, "Type">) => Effect.Effect<void, unknown, never>;
382
651
  recordReviewSuggestionPublication: (input: {
383
- readonly suggestionId: string & import("effect/Brand").Brand<"PrReviewSuggestionId">;
652
+ readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
384
653
  readonly jobId: string & import("effect/Brand").Brand<"JobId">;
654
+ readonly suggestionId: string & import("effect/Brand").Brand<"PrReviewSuggestionId">;
385
655
  readonly revisionId: string & import("effect/Brand").Brand<"PrReviewSuggestionRevisionId">;
386
- readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
387
656
  readonly publishedAt: DateTime.Utc;
388
657
  readonly publicationId: string & import("effect/Brand").Brand<"GovernedActionId">;
389
658
  readonly contentDigest: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationDigest">;
390
659
  readonly reservationId: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationReservationId">;
660
+ readonly operation?: "reply" | "create" | "update";
661
+ readonly commentId?: string & import("effect/Brand").Brand<"ReviewSuggestionPublicationCommentId">;
391
662
  readonly finalize?: boolean;
392
663
  }) => Effect.Effect<undefined, unknown, never>;
393
664
  failAttempt: (input: Schema.Struct.ReadonlySide<{
@@ -398,99 +669,217 @@ declare const makeAgentJobRepository: Effect.Effect<{
398
669
  readonly error: typeof AgentProviderError;
399
670
  readonly failedAt: Schema.DateTimeUtcFromString;
400
671
  }, "Type">) => Effect.Effect<{
401
- readonly payload: unknown;
402
- readonly jobId: string & import("effect/Brand").Brand<"JobId">;
403
672
  readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
404
- readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
673
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
405
674
  readonly occurredAt: DateTime.Utc;
675
+ readonly payload: unknown;
676
+ readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
406
677
  readonly threadId: string & import("effect/Brand").Brand<"AgentThreadId">;
407
678
  readonly attemptSequence: (number & import("effect/Brand").Brand<"AgentAttemptSequence">) | null;
408
- readonly eventKind: "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "cancel-requested" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
679
+ readonly eventKind: "cancel-requested" | "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
409
680
  readonly task?: Schema.Struct.ReadonlySide<{
410
681
  readonly _tag: Schema.tag<"release-chat">;
411
- }, "Type"> | Schema.Struct.ReadonlySide<{
412
- readonly _tag: Schema.tag<"pr-review">;
413
- pluginConnectionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "PluginConnectionId">;
414
- subject: Schema.Struct<{
682
+ }, "Type"> | {
683
+ readonly pluginConnectionId: string & import("effect/Brand").Brand<"PluginConnectionId">;
684
+ readonly _tag: "pr-review";
685
+ readonly subject: Schema.Struct.ReadonlySide<{
686
+ readonly providerId: Schema.Literal<"codecommit">;
687
+ readonly repository: Schema.String;
688
+ readonly pullRequestId: Schema.String;
689
+ readonly baseRevision: Schema.String;
690
+ readonly headRevision: Schema.String;
691
+ }, "Type">;
692
+ readonly reviewProfile: Schema.Struct.ReadonlySide<{
693
+ readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
694
+ readonly label: Schema.String;
695
+ readonly budgetMillis: Schema.Int;
696
+ readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
697
+ readonly sandbox: Schema.Literal<"sbx">;
698
+ }, "Type">;
699
+ readonly target?: Schema.Struct.ReadonlySide<{
700
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
701
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
702
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
703
+ readonly history: Schema.Struct<{
704
+ readonly current: typeof PrReviewSuggestionRevision;
705
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
706
+ readonly hasMore: Schema.Boolean;
707
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
708
+ }>;
709
+ }, "Type">;
710
+ readonly intent?: "suggestion-edit" | "suggestion-revalidation" | "full-review";
711
+ };
712
+ }, unknown, never>;
713
+ listRunningPrReviewAttempts: (workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">) => Effect.Effect<Schema.Struct.ReadonlySide<{
714
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
715
+ readonly attemptSequence: Schema.brand<Schema.Int, "AgentAttemptSequence">;
716
+ readonly attemptId: Schema.String;
717
+ readonly sessionRef: Schema.NullOr<Schema.brand<Schema.String, "AgentSessionRef">>;
718
+ }, "Type">[], RecordNotFoundError | PersistenceOperationError | PersistedRecordError | import("effect/unstable/sql/SqlError").SqlError, never>;
719
+ attachRunningPrReviewSession: (input: Schema.Struct.ReadonlySide<{
720
+ readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
721
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
722
+ readonly attemptSequence: Schema.brand<Schema.Int, "AgentAttemptSequence">;
723
+ readonly sessionRef: Schema.brand<Schema.String, "AgentSessionRef">;
724
+ }, "Type">) => Effect.Effect<undefined, Schema.SchemaError | import("effect/unstable/sql/SqlError").SqlError, never>;
725
+ interruptRunningReviews: (input: {
726
+ readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
727
+ readonly interruptedAt: DateTime.Utc;
728
+ readonly preservedAttempts?: readonly Schema.Struct.ReadonlySide<{
729
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
730
+ readonly attemptSequence: Schema.brand<Schema.Int, "AgentAttemptSequence">;
731
+ }, "Type">[];
732
+ }) => Effect.Effect<{
733
+ interrupted: number;
734
+ }, unknown, never>;
735
+ reviewBudget: (input: Schema.Struct.ReadonlySide<{
736
+ readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
737
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
738
+ readonly task: Schema.toTaggedUnion<"_tag", readonly [Schema.TaggedStruct<"release-chat", {}>, Schema.TaggedStruct<"pr-review", {
739
+ readonly context: Schema.Struct<{
740
+ readonly recentRequests: Schema.$Array<Schema.Struct<{
741
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
742
+ readonly prompt: Schema.String;
743
+ readonly subjectRevision: Schema.String;
744
+ readonly requestedAt: Schema.DateTimeUtcFromString;
745
+ }>>;
746
+ readonly priorRuns: Schema.$Array<Schema.Struct<{
747
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
748
+ readonly subject: Schema.Struct<{
749
+ readonly providerId: Schema.Literal<"codecommit">;
750
+ readonly repository: Schema.String;
751
+ readonly pullRequestId: Schema.String;
752
+ readonly baseRevision: Schema.String;
753
+ readonly headRevision: Schema.String;
754
+ }>;
755
+ readonly state: Schema.Literals<readonly ["cancelled", "failed", "interrupted", "succeeded", "unknown"]>;
756
+ readonly requestedAt: Schema.DateTimeUtcFromString;
757
+ readonly suggestionTitles: Schema.$Array<Schema.String>;
758
+ readonly suggestionsTruncated: Schema.Boolean;
759
+ readonly noteTitles: Schema.$Array<Schema.String>;
760
+ readonly notesTruncated: Schema.Boolean;
761
+ readonly limitation: Schema.NullOr<Schema.String>;
762
+ }>>;
763
+ readonly historyTruncated: Schema.Boolean;
764
+ }>;
765
+ readonly pluginConnectionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "PluginConnectionId">;
766
+ readonly subject: Schema.Struct<{
415
767
  readonly providerId: Schema.Literal<"codecommit">;
416
768
  readonly repository: Schema.String;
417
769
  readonly pullRequestId: Schema.String;
418
770
  readonly baseRevision: Schema.String;
419
771
  readonly headRevision: Schema.String;
420
772
  }>;
421
- reviewProfile: Schema.Struct<{
773
+ readonly reviewProfile: Schema.Struct<{
422
774
  readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
423
775
  readonly label: Schema.String;
424
776
  readonly budgetMillis: Schema.Int;
425
777
  readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
426
778
  readonly sandbox: Schema.Literal<"sbx">;
427
779
  }>;
428
- }, "Type">;
429
- }, unknown, never>;
780
+ readonly intent: Schema.optionalKey<Schema.Literals<readonly ["full-review", "suggestion-edit", "suggestion-revalidation"]>>;
781
+ readonly target: Schema.optionalKey<Schema.Struct<{
782
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
783
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
784
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
785
+ readonly history: Schema.Struct<{
786
+ readonly current: typeof PrReviewSuggestionRevision;
787
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
788
+ readonly hasMore: Schema.Boolean;
789
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
790
+ }>;
791
+ }>>;
792
+ }>]>;
793
+ }, "Type">) => Effect.Effect<{
794
+ reviewBudgetMillis: undefined;
795
+ reviewBudgetExtensionCount: number;
796
+ } | {
797
+ reviewBudgetMillis: number;
798
+ reviewBudgetExtensionCount: number;
799
+ }, Schema.SchemaError | PersistenceOperationError | PersistedRecordError, never>;
800
+ extendReviewBudget: (input: Schema.Struct.ReadonlySide<{
801
+ readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
802
+ readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
803
+ readonly extendedAt: Schema.DateTimeUtcFromString;
804
+ }, "Type">) => Effect.Effect<{
805
+ reviewBudgetMillis: number;
806
+ reviewBudgetExtensionCount: number;
807
+ }, Schema.SchemaError | RecordNotFoundError | PersistenceOperationError | PersistedRecordError | AgentJobInputError, never>;
430
808
  requestCancellation: (input: Schema.Struct.ReadonlySide<{
431
809
  readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
432
810
  readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
433
811
  readonly requestedAt: Schema.DateTimeUtcFromString;
434
812
  }, "Type">) => Effect.Effect<void, unknown, never>;
435
- latestReview: (input: any) => Effect.Effect<Option.Option<Schema.Struct.ReadonlySide<{
436
- readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
437
- readonly threadId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AgentThreadId">;
438
- readonly providerId: Schema.brand<Schema.String, "AgentProviderId">;
439
- readonly model: Schema.NullOr<Schema.String>;
440
- readonly state: Schema.Literals<readonly ["queued", "running", "cancel-requested", "succeeded", "failed", "cancelled"]>;
441
- readonly createdAt: Schema.DateTimeUtcFromString;
442
- readonly terminalAt: Schema.NullOr<Schema.DateTimeUtcFromString>;
443
- readonly report: Schema.NullOr<Schema.Struct<{
444
- readonly schemaVersion: Schema.Literal<3>;
445
- readonly subject: Schema.Struct<{
813
+ latestReview: (input: any) => Effect.Effect<Option.Option<{
814
+ readonly providerId: string & import("effect/Brand").Brand<"AgentProviderId">;
815
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
816
+ readonly state: "succeeded" | "failed" | "cancelled" | "cancel-requested" | "queued" | "running" | "interrupted";
817
+ readonly model: string | null;
818
+ readonly createdAt: DateTime.Utc;
819
+ readonly reviewProfile: Schema.Struct.ReadonlySide<{
820
+ readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
821
+ readonly label: Schema.String;
822
+ readonly budgetMillis: Schema.Int;
823
+ readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
824
+ readonly sandbox: Schema.Literal<"sbx">;
825
+ }, "Type">;
826
+ readonly activity: Schema.Struct.ReadonlySide<{
827
+ readonly events: Schema.$Array<Schema.String>;
828
+ readonly truncated: Schema.Boolean;
829
+ }, "Type">;
830
+ readonly report: {
831
+ readonly schemaVersion: 3;
832
+ readonly subject: Schema.Struct.ReadonlySide<{
446
833
  readonly providerId: Schema.Literal<"codecommit">;
447
834
  readonly repository: Schema.String;
448
835
  readonly pullRequestId: Schema.String;
449
836
  readonly baseRevision: Schema.String;
450
837
  readonly headRevision: Schema.String;
451
- }>;
452
- readonly completion: Schema.Union<readonly [Schema.Struct<{
838
+ }, "Type">;
839
+ readonly completion: Schema.Struct.ReadonlySide<{
453
840
  readonly status: Schema.Literal<"complete">;
454
- }>, Schema.Struct<{
841
+ }, "Type"> | Schema.Struct.ReadonlySide<{
455
842
  readonly status: Schema.Literal<"unable-to-conclude">;
456
843
  readonly reason: Schema.String;
457
- }>]>;
458
- readonly suggestions: Schema.$Array<Schema.Struct<{
459
- readonly anchor: Schema.Union<readonly [Schema.Struct<{
844
+ }, "Type">;
845
+ readonly suggestions: readonly {
846
+ readonly title: string;
847
+ readonly confidence: Schema.Struct.ReadonlySide<{
848
+ readonly level: Schema.Literals<readonly ["low", "medium", "high"]>;
849
+ readonly reason: Schema.String;
850
+ }, "Type">;
851
+ readonly anchor: Schema.Struct.ReadonlySide<{
460
852
  readonly _tag: Schema.Literal<"line">;
461
853
  readonly path: Schema.brand<Schema.String, "PrReviewPath">;
462
854
  readonly line: Schema.Int;
463
855
  readonly relativeFileVersion: Schema.withDecodingDefaultTypeKey<Schema.Literal<"AFTER">, never>;
464
- }>, Schema.Struct<{
856
+ }, "Type"> | Schema.Struct.ReadonlySide<{
465
857
  readonly _tag: Schema.Literal<"file">;
466
858
  readonly path: Schema.brand<Schema.String, "PrReviewPath">;
467
859
  readonly line: Schema.Int;
468
860
  readonly relativeFileVersion: Schema.withDecodingDefaultTypeKey<Schema.Literals<readonly ["BEFORE", "AFTER"]>, never>;
469
- }>, Schema.Struct<{
861
+ }, "Type"> | Schema.Struct.ReadonlySide<{
470
862
  readonly _tag: Schema.Literal<"changes">;
471
- }>]>;
472
- readonly title: Schema.String;
473
- readonly severity: Schema.Literals<readonly ["P1", "P2", "P3", "P4"]>;
474
- readonly problem: Schema.String;
475
- readonly impact: Schema.String;
476
- readonly evidence: Schema.Struct<{
863
+ }, "Type">;
864
+ readonly impact: string;
865
+ readonly evidence: Schema.Struct.ReadonlySide<{
477
866
  readonly excerpt: Schema.String;
478
867
  readonly path: Schema.brand<Schema.String, "PrReviewPath">;
479
868
  readonly startLine: Schema.Int;
480
869
  readonly endLine: Schema.Int;
481
- }>;
482
- readonly recommendation: Schema.String;
483
- readonly confidence: Schema.Struct<{
484
- readonly level: Schema.Literals<readonly ["low", "medium", "high"]>;
485
- readonly reason: Schema.String;
486
- }>;
487
- readonly relatedLocations: Schema.$Array<Schema.Struct<{
870
+ }, "Type">;
871
+ readonly state: "stale" | "draft" | "published" | "resolved" | "dismissed" | "reopened";
872
+ readonly suggestionId: string & import("effect/Brand").Brand<"PrReviewSuggestionId">;
873
+ readonly severity: "P1" | "P2" | "P3" | "P4";
874
+ readonly problem: string;
875
+ readonly recommendation: string;
876
+ readonly relatedLocations: readonly Schema.Struct.ReadonlySide<{
488
877
  readonly label: Schema.String;
489
878
  readonly path: Schema.brand<Schema.String, "PrReviewPath">;
490
879
  readonly startLine: Schema.Int;
491
880
  readonly endLine: Schema.Int;
492
- }>>;
493
- readonly prevention: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
881
+ }, "Type">[];
882
+ readonly prevention?: Schema.Struct.ReadonlySide<{
494
883
  readonly summary: Schema.String;
495
884
  readonly enforcement: Schema.Literals<readonly ["ast-grep", "ESLint", "type-check", "test", "instruction"]>;
496
885
  readonly existingRuleOrConfig: Schema.String;
@@ -501,47 +890,50 @@ declare const makeAgentJobRepository: Effect.Effect<{
501
890
  readonly invalidFixture: Schema.String;
502
891
  readonly validFixture: Schema.String;
503
892
  readonly boundary: Schema.String;
504
- }>, Schema.Struct<{
893
+ }, "Type"> | Schema.Struct.ReadonlySide<{
505
894
  readonly summary: Schema.String;
506
895
  readonly enforcement: Schema.Literal<"none">;
507
896
  readonly rationale: Schema.String;
508
- }>]>>;
509
- readonly replacement: Schema.optionalKey<Schema.Struct<{
897
+ }, "Type">;
898
+ readonly replacement?: Schema.Struct.ReadonlySide<{
510
899
  readonly reviewedHead: Schema.String;
511
900
  readonly unifiedDiff: Schema.String;
512
901
  readonly explanation: Schema.String;
513
- }>>;
514
- readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
515
- readonly state: Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>;
516
- }>>;
517
- readonly notes: Schema.$Array<Schema.Struct<{
518
- readonly reason: Schema.Literals<readonly ["low-confidence", "pre-existing"]>;
519
- readonly title: Schema.String;
520
- readonly observation: Schema.String;
521
- readonly confidence: Schema.Struct<{
902
+ }, "Type">;
903
+ readonly dismissalReason?: "false-positive" | "not-applicable" | "accepted-risk" | "duplicate" | "other";
904
+ }[];
905
+ readonly notes: readonly {
906
+ readonly reason: "low-confidence" | "pre-existing";
907
+ readonly title: string;
908
+ readonly confidence: Schema.Struct.ReadonlySide<{
522
909
  readonly level: Schema.Literals<readonly ["low", "medium", "high"]>;
523
910
  readonly reason: Schema.String;
524
- }>;
525
- readonly location: Schema.optionalKey<Schema.Struct<{
911
+ }, "Type">;
912
+ readonly observation: string;
913
+ readonly noteId: string & import("effect/Brand").Brand<"PrReviewNoteId">;
914
+ readonly location?: Schema.Struct.ReadonlySide<{
526
915
  readonly path: Schema.brand<Schema.String, "PrReviewPath">;
527
916
  readonly startLine: Schema.Int;
528
917
  readonly endLine: Schema.Int;
529
- }>>;
530
- readonly noteId: Schema.brand<Schema.String, "PrReviewNoteId">;
531
- }>>;
532
- }>>;
533
- readonly reviewProfile: Schema.Struct<{
534
- readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
535
- readonly label: Schema.String;
536
- readonly budgetMillis: Schema.Int;
537
- readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
538
- readonly sandbox: Schema.Literal<"sbx">;
539
- }>;
540
- readonly activity: Schema.Struct<{
541
- readonly events: Schema.$Array<Schema.String>;
542
- readonly truncated: Schema.Boolean;
543
- }>;
544
- }, "Type">>, Schema.SchemaError | RecordNotFoundError | PersistenceOperationError | PersistedRecordError, never>;
918
+ }, "Type">;
919
+ }[];
920
+ readonly transitions?: readonly {
921
+ readonly transition: "resolved" | "reopened" | "new" | "still-present";
922
+ readonly previousState: "stale" | "draft" | "published" | "resolved" | "dismissed" | "reopened" | null;
923
+ readonly currentState: "stale" | "draft" | "published" | "resolved" | "dismissed" | "reopened" | null;
924
+ readonly previousHead: string | null;
925
+ readonly suggestionId: string & import("effect/Brand").Brand<"PrReviewSuggestionId">;
926
+ readonly currentHead: string;
927
+ readonly previousDismissalReason?: "false-positive" | "not-applicable" | "accepted-risk" | "duplicate" | "other";
928
+ }[];
929
+ } | null;
930
+ readonly threadId: string & import("effect/Brand").Brand<"AgentThreadId">;
931
+ readonly terminalAt: DateTime.Utc | null;
932
+ readonly startedAt?: DateTime.Utc | null;
933
+ readonly reviewBudgetMillis?: number;
934
+ readonly reviewBudgetExtensionCount?: number;
935
+ readonly taskIntent?: "suggestion-edit" | "suggestion-revalidation" | null;
936
+ }>, Schema.SchemaError | PersistenceOperationError | PersistedRecordError, never>;
545
937
  reviewResult: (input: Schema.Struct.ReadonlySide<{
546
938
  readonly workspaceId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "WorkspaceId">;
547
939
  readonly jobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
@@ -622,6 +1014,7 @@ declare const makeAgentJobRepository: Effect.Effect<{
622
1014
  }>>;
623
1015
  readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
624
1016
  readonly state: Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>;
1017
+ readonly dismissalReason: Schema.optionalKey<Schema.Literals<readonly ["false-positive", "not-applicable", "accepted-risk", "duplicate", "other"]>>;
625
1018
  }>>;
626
1019
  readonly notes: Schema.$Array<Schema.Struct<{
627
1020
  readonly reason: Schema.Literals<readonly ["low-confidence", "pre-existing"]>;
@@ -638,6 +1031,15 @@ declare const makeAgentJobRepository: Effect.Effect<{
638
1031
  }>>;
639
1032
  readonly noteId: Schema.brand<Schema.String, "PrReviewNoteId">;
640
1033
  }>>;
1034
+ readonly transitions: Schema.optionalKey<Schema.$Array<Schema.Struct<{
1035
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
1036
+ readonly transition: Schema.Literals<readonly ["new", "still-present", "resolved", "reopened"]>;
1037
+ readonly previousState: Schema.NullOr<Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>>;
1038
+ readonly currentState: Schema.NullOr<Schema.Literals<readonly ["draft", "published", "stale", "resolved", "dismissed", "reopened"]>>;
1039
+ readonly previousDismissalReason: Schema.optionalKey<Schema.Literals<readonly ["false-positive", "not-applicable", "accepted-risk", "duplicate", "other"]>>;
1040
+ readonly previousHead: Schema.NullOr<Schema.String>;
1041
+ readonly currentHead: Schema.String;
1042
+ }>>>;
641
1043
  }>;
642
1044
  readonly completedAt: Schema.DateTimeUtcFromString;
643
1045
  }, "Type">, Schema.SchemaError | RecordNotFoundError | PersistenceOperationError | PersistedRecordError, never>;
@@ -660,34 +1062,46 @@ declare const makeAgentJobRepository: Effect.Effect<{
660
1062
  readonly limit: Schema.brand<Schema.Int, "AgentThreadEventPageSize">;
661
1063
  }, "Type">) => Effect.Effect<{
662
1064
  events: {
663
- readonly payload: unknown;
664
- readonly jobId: string & import("effect/Brand").Brand<"JobId">;
665
1065
  readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
666
- readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
1066
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
667
1067
  readonly occurredAt: DateTime.Utc;
1068
+ readonly payload: unknown;
1069
+ readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
668
1070
  readonly threadId: string & import("effect/Brand").Brand<"AgentThreadId">;
669
1071
  readonly attemptSequence: (number & import("effect/Brand").Brand<"AgentAttemptSequence">) | null;
670
- readonly eventKind: "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "cancel-requested" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
1072
+ readonly eventKind: "cancel-requested" | "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
671
1073
  readonly task?: Schema.Struct.ReadonlySide<{
672
1074
  readonly _tag: Schema.tag<"release-chat">;
673
- }, "Type"> | Schema.Struct.ReadonlySide<{
674
- readonly _tag: Schema.tag<"pr-review">;
675
- pluginConnectionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "PluginConnectionId">;
676
- subject: Schema.Struct<{
1075
+ }, "Type"> | {
1076
+ readonly pluginConnectionId: string & import("effect/Brand").Brand<"PluginConnectionId">;
1077
+ readonly _tag: "pr-review";
1078
+ readonly subject: Schema.Struct.ReadonlySide<{
677
1079
  readonly providerId: Schema.Literal<"codecommit">;
678
1080
  readonly repository: Schema.String;
679
1081
  readonly pullRequestId: Schema.String;
680
1082
  readonly baseRevision: Schema.String;
681
1083
  readonly headRevision: Schema.String;
682
- }>;
683
- reviewProfile: Schema.Struct<{
1084
+ }, "Type">;
1085
+ readonly reviewProfile: Schema.Struct.ReadonlySide<{
684
1086
  readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
685
1087
  readonly label: Schema.String;
686
1088
  readonly budgetMillis: Schema.Int;
687
1089
  readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
688
1090
  readonly sandbox: Schema.Literal<"sbx">;
689
- }>;
690
- }, "Type">;
1091
+ }, "Type">;
1092
+ readonly target?: Schema.Struct.ReadonlySide<{
1093
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
1094
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
1095
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
1096
+ readonly history: Schema.Struct<{
1097
+ readonly current: typeof PrReviewSuggestionRevision;
1098
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
1099
+ readonly hasMore: Schema.Boolean;
1100
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
1101
+ }>;
1102
+ }, "Type">;
1103
+ readonly intent?: "suggestion-edit" | "suggestion-revalidation" | "full-review";
1104
+ };
691
1105
  }[];
692
1106
  nextCursor: number & import("effect/Brand").Brand<"AgentEventCursor">;
693
1107
  }, Schema.SchemaError | RecordNotFoundError | PersistenceOperationError | PersistedRecordError, never>;
@@ -703,34 +1117,46 @@ declare const makeAgentJobRepository: Effect.Effect<{
703
1117
  readonly limit: Schema.brand<Schema.Int, "AgentThreadEventPageSize">;
704
1118
  }, "Type">) => Effect.Effect<{
705
1119
  events: {
706
- readonly payload: unknown;
707
- readonly jobId: string & import("effect/Brand").Brand<"JobId">;
708
1120
  readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
709
- readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
1121
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
710
1122
  readonly occurredAt: DateTime.Utc;
1123
+ readonly payload: unknown;
1124
+ readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
711
1125
  readonly threadId: string & import("effect/Brand").Brand<"AgentThreadId">;
712
1126
  readonly attemptSequence: (number & import("effect/Brand").Brand<"AgentAttemptSequence">) | null;
713
- readonly eventKind: "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "cancel-requested" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
1127
+ readonly eventKind: "cancel-requested" | "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
714
1128
  readonly task?: Schema.Struct.ReadonlySide<{
715
1129
  readonly _tag: Schema.tag<"release-chat">;
716
- }, "Type"> | Schema.Struct.ReadonlySide<{
717
- readonly _tag: Schema.tag<"pr-review">;
718
- pluginConnectionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "PluginConnectionId">;
719
- subject: Schema.Struct<{
1130
+ }, "Type"> | {
1131
+ readonly pluginConnectionId: string & import("effect/Brand").Brand<"PluginConnectionId">;
1132
+ readonly _tag: "pr-review";
1133
+ readonly subject: Schema.Struct.ReadonlySide<{
720
1134
  readonly providerId: Schema.Literal<"codecommit">;
721
1135
  readonly repository: Schema.String;
722
1136
  readonly pullRequestId: Schema.String;
723
1137
  readonly baseRevision: Schema.String;
724
1138
  readonly headRevision: Schema.String;
725
- }>;
726
- reviewProfile: Schema.Struct<{
1139
+ }, "Type">;
1140
+ readonly reviewProfile: Schema.Struct.ReadonlySide<{
727
1141
  readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
728
1142
  readonly label: Schema.String;
729
1143
  readonly budgetMillis: Schema.Int;
730
1144
  readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
731
1145
  readonly sandbox: Schema.Literal<"sbx">;
732
- }>;
733
- }, "Type">;
1146
+ }, "Type">;
1147
+ readonly target?: Schema.Struct.ReadonlySide<{
1148
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
1149
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
1150
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
1151
+ readonly history: Schema.Struct<{
1152
+ readonly current: typeof PrReviewSuggestionRevision;
1153
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
1154
+ readonly hasMore: Schema.Boolean;
1155
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
1156
+ }>;
1157
+ }, "Type">;
1158
+ readonly intent?: "suggestion-edit" | "suggestion-revalidation" | "full-review";
1159
+ };
734
1160
  }[];
735
1161
  nextCursor: number & import("effect/Brand").Brand<"AgentEventCursor">;
736
1162
  }, Schema.SchemaError | RecordNotFoundError | PersistenceOperationError | PersistedRecordError, never>;
@@ -746,34 +1172,46 @@ declare const makeAgentJobRepository: Effect.Effect<{
746
1172
  readonly limit: Schema.brand<Schema.Int, "AgentThreadEventPageSize">;
747
1173
  }, "Type">) => Effect.Effect<{
748
1174
  events: {
749
- readonly payload: unknown;
750
- readonly jobId: string & import("effect/Brand").Brand<"JobId">;
751
1175
  readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
752
- readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
1176
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
753
1177
  readonly occurredAt: DateTime.Utc;
1178
+ readonly payload: unknown;
1179
+ readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
754
1180
  readonly threadId: string & import("effect/Brand").Brand<"AgentThreadId">;
755
1181
  readonly attemptSequence: (number & import("effect/Brand").Brand<"AgentAttemptSequence">) | null;
756
- readonly eventKind: "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "cancel-requested" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
1182
+ readonly eventKind: "cancel-requested" | "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
757
1183
  readonly task?: Schema.Struct.ReadonlySide<{
758
1184
  readonly _tag: Schema.tag<"release-chat">;
759
- }, "Type"> | Schema.Struct.ReadonlySide<{
760
- readonly _tag: Schema.tag<"pr-review">;
761
- pluginConnectionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "PluginConnectionId">;
762
- subject: Schema.Struct<{
1185
+ }, "Type"> | {
1186
+ readonly pluginConnectionId: string & import("effect/Brand").Brand<"PluginConnectionId">;
1187
+ readonly _tag: "pr-review";
1188
+ readonly subject: Schema.Struct.ReadonlySide<{
763
1189
  readonly providerId: Schema.Literal<"codecommit">;
764
1190
  readonly repository: Schema.String;
765
1191
  readonly pullRequestId: Schema.String;
766
1192
  readonly baseRevision: Schema.String;
767
1193
  readonly headRevision: Schema.String;
768
- }>;
769
- reviewProfile: Schema.Struct<{
1194
+ }, "Type">;
1195
+ readonly reviewProfile: Schema.Struct.ReadonlySide<{
770
1196
  readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
771
1197
  readonly label: Schema.String;
772
1198
  readonly budgetMillis: Schema.Int;
773
1199
  readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
774
1200
  readonly sandbox: Schema.Literal<"sbx">;
775
- }>;
776
- }, "Type">;
1201
+ }, "Type">;
1202
+ readonly target?: Schema.Struct.ReadonlySide<{
1203
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
1204
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
1205
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
1206
+ readonly history: Schema.Struct<{
1207
+ readonly current: typeof PrReviewSuggestionRevision;
1208
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
1209
+ readonly hasMore: Schema.Boolean;
1210
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
1211
+ }>;
1212
+ }, "Type">;
1213
+ readonly intent?: "suggestion-edit" | "suggestion-revalidation" | "full-review";
1214
+ };
777
1215
  }[];
778
1216
  nextCursor: number & import("effect/Brand").Brand<"AgentEventCursor">;
779
1217
  }, Schema.SchemaError | RecordNotFoundError | PersistenceOperationError | PersistedRecordError, never>;
@@ -785,34 +1223,46 @@ declare const makeAgentJobRepository: Effect.Effect<{
785
1223
  readonly limit: Schema.brand<Schema.Int, "AgentThreadEventPageSize">;
786
1224
  }, "Type">) => Effect.Effect<{
787
1225
  events: {
788
- readonly payload: unknown;
789
- readonly jobId: string & import("effect/Brand").Brand<"JobId">;
790
1226
  readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
791
- readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
1227
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
792
1228
  readonly occurredAt: DateTime.Utc;
1229
+ readonly payload: unknown;
1230
+ readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
793
1231
  readonly threadId: string & import("effect/Brand").Brand<"AgentThreadId">;
794
1232
  readonly attemptSequence: (number & import("effect/Brand").Brand<"AgentAttemptSequence">) | null;
795
- readonly eventKind: "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "cancel-requested" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
1233
+ readonly eventKind: "cancel-requested" | "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
796
1234
  readonly task?: Schema.Struct.ReadonlySide<{
797
1235
  readonly _tag: Schema.tag<"release-chat">;
798
- }, "Type"> | Schema.Struct.ReadonlySide<{
799
- readonly _tag: Schema.tag<"pr-review">;
800
- pluginConnectionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "PluginConnectionId">;
801
- subject: Schema.Struct<{
1236
+ }, "Type"> | {
1237
+ readonly pluginConnectionId: string & import("effect/Brand").Brand<"PluginConnectionId">;
1238
+ readonly _tag: "pr-review";
1239
+ readonly subject: Schema.Struct.ReadonlySide<{
802
1240
  readonly providerId: Schema.Literal<"codecommit">;
803
1241
  readonly repository: Schema.String;
804
1242
  readonly pullRequestId: Schema.String;
805
1243
  readonly baseRevision: Schema.String;
806
1244
  readonly headRevision: Schema.String;
807
- }>;
808
- reviewProfile: Schema.Struct<{
1245
+ }, "Type">;
1246
+ readonly reviewProfile: Schema.Struct.ReadonlySide<{
809
1247
  readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
810
1248
  readonly label: Schema.String;
811
1249
  readonly budgetMillis: Schema.Int;
812
1250
  readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
813
1251
  readonly sandbox: Schema.Literal<"sbx">;
814
- }>;
815
- }, "Type">;
1252
+ }, "Type">;
1253
+ readonly target?: Schema.Struct.ReadonlySide<{
1254
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
1255
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
1256
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
1257
+ readonly history: Schema.Struct<{
1258
+ readonly current: typeof PrReviewSuggestionRevision;
1259
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
1260
+ readonly hasMore: Schema.Boolean;
1261
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
1262
+ }>;
1263
+ }, "Type">;
1264
+ readonly intent?: "suggestion-edit" | "suggestion-revalidation" | "full-review";
1265
+ };
816
1266
  }[];
817
1267
  nextCursor: number & import("effect/Brand").Brand<"AgentEventCursor">;
818
1268
  }, Schema.SchemaError | PersistenceOperationError | PersistedRecordError, never>;
@@ -827,34 +1277,46 @@ declare const makeAgentJobRepository: Effect.Effect<{
827
1277
  readonly limit: Schema.brand<Schema.Int, "AgentThreadEventPageSize">;
828
1278
  }, "Type">) => Effect.Effect<{
829
1279
  events: {
830
- readonly payload: unknown;
831
- readonly jobId: string & import("effect/Brand").Brand<"JobId">;
832
1280
  readonly workspaceId: string & import("effect/Brand").Brand<"WorkspaceId">;
833
- readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
1281
+ readonly jobId: string & import("effect/Brand").Brand<"JobId">;
834
1282
  readonly occurredAt: DateTime.Utc;
1283
+ readonly payload: unknown;
1284
+ readonly eventSequence: number & import("effect/Brand").Brand<"AgentEventCursor">;
835
1285
  readonly threadId: string & import("effect/Brand").Brand<"AgentThreadId">;
836
1286
  readonly attemptSequence: (number & import("effect/Brand").Brand<"AgentAttemptSequence">) | null;
837
- readonly eventKind: "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "cancel-requested" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
1287
+ readonly eventKind: "cancel-requested" | "progress" | "user-message" | "job-queued" | "job-started" | "assistant-output" | "usage" | "job-completed" | "job-failed" | "review-report" | "review-suggestion-revised" | "review-suggestion-published";
838
1288
  readonly task?: Schema.Struct.ReadonlySide<{
839
1289
  readonly _tag: Schema.tag<"release-chat">;
840
- }, "Type"> | Schema.Struct.ReadonlySide<{
841
- readonly _tag: Schema.tag<"pr-review">;
842
- pluginConnectionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "PluginConnectionId">;
843
- subject: Schema.Struct<{
1290
+ }, "Type"> | {
1291
+ readonly pluginConnectionId: string & import("effect/Brand").Brand<"PluginConnectionId">;
1292
+ readonly _tag: "pr-review";
1293
+ readonly subject: Schema.Struct.ReadonlySide<{
844
1294
  readonly providerId: Schema.Literal<"codecommit">;
845
1295
  readonly repository: Schema.String;
846
1296
  readonly pullRequestId: Schema.String;
847
1297
  readonly baseRevision: Schema.String;
848
1298
  readonly headRevision: Schema.String;
849
- }>;
850
- reviewProfile: Schema.Struct<{
1299
+ }, "Type">;
1300
+ readonly reviewProfile: Schema.Struct.ReadonlySide<{
851
1301
  readonly profileId: Schema.brand<Schema.String, "ReviewAgentProfileId">;
852
1302
  readonly label: Schema.String;
853
1303
  readonly budgetMillis: Schema.Int;
854
1304
  readonly networkAccess: Schema.Literals<readonly ["blocked", "provider-enabled"]>;
855
1305
  readonly sandbox: Schema.Literal<"sbx">;
856
- }>;
857
- }, "Type">;
1306
+ }, "Type">;
1307
+ readonly target?: Schema.Struct.ReadonlySide<{
1308
+ readonly sourceJobId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "JobId">;
1309
+ readonly suggestionId: Schema.brand<Schema.String, "PrReviewSuggestionId">;
1310
+ readonly selectedRevisionId: Schema.brand<Schema.String, "PrReviewSuggestionRevisionId">;
1311
+ readonly history: Schema.Struct<{
1312
+ readonly current: typeof PrReviewSuggestionRevision;
1313
+ readonly revisions: Schema.$Array<typeof PrReviewSuggestionRevision>;
1314
+ readonly hasMore: Schema.Boolean;
1315
+ readonly nextBeforeSequence: Schema.NullOr<Schema.brand<Schema.Int, "PrReviewSuggestionRevisionSequence">>;
1316
+ }>;
1317
+ }, "Type">;
1318
+ readonly intent?: "suggestion-edit" | "suggestion-revalidation" | "full-review";
1319
+ };
858
1320
  }[];
859
1321
  nextCursor: number & import("effect/Brand").Brand<"AgentEventCursor">;
860
1322
  }, Schema.SchemaError | RecordNotFoundError | PersistenceOperationError | PersistedRecordError, never>;