@shivaedev/work-fleet 0.2.1 → 0.3.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 (502) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +60 -18
  3. package/dist/DispatchRequest.d.ts +13 -0
  4. package/dist/DispatchRequest.d.ts.map +1 -0
  5. package/dist/DispatchRequest.js +12 -0
  6. package/dist/DispatchRequest.js.map +1 -0
  7. package/dist/admit.d.ts +11 -0
  8. package/dist/admit.d.ts.map +1 -1
  9. package/dist/attention.d.ts +1 -0
  10. package/dist/attention.d.ts.map +1 -1
  11. package/dist/attention.js +4 -0
  12. package/dist/attention.js.map +1 -1
  13. package/dist/board/fleetField.d.ts +1 -0
  14. package/dist/board/fleetField.d.ts.map +1 -1
  15. package/dist/board/fleetField.js +4 -0
  16. package/dist/board/fleetField.js.map +1 -1
  17. package/dist/board/markdown.d.ts.map +1 -1
  18. package/dist/board/markdown.js +7 -2
  19. package/dist/board/markdown.js.map +1 -1
  20. package/dist/board/publish.d.ts +2 -0
  21. package/dist/board/publish.d.ts.map +1 -1
  22. package/dist/board/publishReport.d.ts +1 -0
  23. package/dist/board/publishReport.d.ts.map +1 -1
  24. package/dist/board/readPass.d.ts +1 -0
  25. package/dist/board/readPass.d.ts.map +1 -1
  26. package/dist/cli.js +13 -6
  27. package/dist/cli.js.map +1 -1
  28. package/dist/engine/abandonStalled.d.ts +1171 -1004
  29. package/dist/engine/abandonStalled.d.ts.map +1 -1
  30. package/dist/engine/admissionOrder.d.ts +1091 -0
  31. package/dist/engine/admissionOrder.d.ts.map +1 -0
  32. package/dist/engine/admissionOrder.js +15 -0
  33. package/dist/engine/admissionOrder.js.map +1 -0
  34. package/dist/engine/applyResolution.d.ts +20 -0
  35. package/dist/engine/applyResolution.d.ts.map +1 -1
  36. package/dist/engine/approveBrief.d.ts +31 -0
  37. package/dist/engine/approveBrief.d.ts.map +1 -1
  38. package/dist/engine/authorizeResolution.d.ts +1160 -1003
  39. package/dist/engine/authorizeResolution.d.ts.map +1 -1
  40. package/dist/engine/boardBrief.d.ts +32 -0
  41. package/dist/engine/boardBrief.d.ts.map +1 -1
  42. package/dist/engine/capacityRetry.d.ts +3488 -3007
  43. package/dist/engine/capacityRetry.d.ts.map +1 -1
  44. package/dist/engine/closeDecisions.d.ts +20 -0
  45. package/dist/engine/closeDecisions.d.ts.map +1 -1
  46. package/dist/engine/completeBoardWork.d.ts +20 -0
  47. package/dist/engine/completeBoardWork.d.ts.map +1 -1
  48. package/dist/engine/completeReport.d.ts +21 -0
  49. package/dist/engine/completeReport.d.ts.map +1 -1
  50. package/dist/engine/continueCommand.d.ts +10 -0
  51. package/dist/engine/continueCommand.d.ts.map +1 -1
  52. package/dist/engine/continueWorker.d.ts +20 -0
  53. package/dist/engine/continueWorker.d.ts.map +1 -1
  54. package/dist/engine/deliverPendingAnswers.d.ts +1085 -898
  55. package/dist/engine/deliverPendingAnswers.d.ts.map +1 -1
  56. package/dist/engine/dispatchCommand.d.ts +14 -1
  57. package/dist/engine/dispatchCommand.d.ts.map +1 -1
  58. package/dist/engine/dispatchCommand.js +25 -5
  59. package/dist/engine/dispatchCommand.js.map +1 -1
  60. package/dist/engine/ensureDecisionOwner.d.ts +20 -0
  61. package/dist/engine/ensureDecisionOwner.d.ts.map +1 -1
  62. package/dist/engine/ensurePublication.d.ts +20 -0
  63. package/dist/engine/ensurePublication.d.ts.map +1 -1
  64. package/dist/engine/failureContext.d.ts +1 -0
  65. package/dist/engine/failureContext.d.ts.map +1 -1
  66. package/dist/engine/failureContext.js.map +1 -1
  67. package/dist/engine/failureMessage.js +11 -1
  68. package/dist/engine/failureMessage.js.map +1 -1
  69. package/dist/engine/health.d.ts +10 -0
  70. package/dist/engine/health.d.ts.map +1 -1
  71. package/dist/engine/inspectRenewal.d.ts +21 -0
  72. package/dist/engine/inspectRenewal.d.ts.map +1 -1
  73. package/dist/engine/launchInput.d.ts +10 -0
  74. package/dist/engine/launchInput.d.ts.map +1 -1
  75. package/dist/engine/launchReceipt.d.ts +10 -0
  76. package/dist/engine/launchReceipt.d.ts.map +1 -1
  77. package/dist/engine/localOnlyCriteria.d.ts +1 -0
  78. package/dist/engine/localOnlyCriteria.d.ts.map +1 -1
  79. package/dist/engine/localOnlyCriteria.js +5 -1
  80. package/dist/engine/localOnlyCriteria.js.map +1 -1
  81. package/dist/engine/makeAdopt.d.ts +21 -0
  82. package/dist/engine/makeAdopt.d.ts.map +1 -1
  83. package/dist/engine/makeAdvance.d.ts +10 -0
  84. package/dist/engine/makeAdvance.d.ts.map +1 -1
  85. package/dist/engine/makeDeliver.d.ts +20 -0
  86. package/dist/engine/makeDeliver.d.ts.map +1 -1
  87. package/dist/engine/makeHuman.d.ts +20 -0
  88. package/dist/engine/makeHuman.d.ts.map +1 -1
  89. package/dist/engine/makeLaunch.d.ts +20 -0
  90. package/dist/engine/makeLaunch.d.ts.map +1 -1
  91. package/dist/engine/makeLaunch.js +4 -13
  92. package/dist/engine/makeLaunch.js.map +1 -1
  93. package/dist/engine/makeObserve.d.ts +20 -0
  94. package/dist/engine/makeObserve.d.ts.map +1 -1
  95. package/dist/engine/makeReview.d.ts +21 -0
  96. package/dist/engine/makeReview.d.ts.map +1 -1
  97. package/dist/engine/makeState.d.ts +1164 -1010
  98. package/dist/engine/makeState.d.ts.map +1 -1
  99. package/dist/engine/makeState.js +19 -11
  100. package/dist/engine/makeState.js.map +1 -1
  101. package/dist/engine/makeValidate.d.ts +21 -0
  102. package/dist/engine/makeValidate.d.ts.map +1 -1
  103. package/dist/engine/mergeReadiness.d.ts +1425 -1764
  104. package/dist/engine/mergeReadiness.d.ts.map +1 -1
  105. package/dist/engine/mergeReadiness.js +3 -4
  106. package/dist/engine/mergeReadiness.js.map +1 -1
  107. package/dist/engine/observeDeliveryFailure.d.ts +1170 -1003
  108. package/dist/engine/observeDeliveryFailure.d.ts.map +1 -1
  109. package/dist/engine/observeRenewal.d.ts +33 -0
  110. package/dist/engine/observeRenewal.d.ts.map +1 -1
  111. package/dist/engine/obtainReview.d.ts +11 -0
  112. package/dist/engine/obtainReview.d.ts.map +1 -1
  113. package/dist/engine/obtainReview.js +2 -1
  114. package/dist/engine/obtainReview.js.map +1 -1
  115. package/dist/engine/operationRecord.d.ts +1898 -1779
  116. package/dist/engine/operationRecord.d.ts.map +1 -1
  117. package/dist/engine/persistTerminalReceipts.d.ts +20 -0
  118. package/dist/engine/persistTerminalReceipts.d.ts.map +1 -1
  119. package/dist/engine/prepareCommand.d.ts +10 -0
  120. package/dist/engine/prepareCommand.d.ts.map +1 -1
  121. package/dist/engine/prepareCommand.js +1 -1
  122. package/dist/engine/prepareCommand.js.map +1 -1
  123. package/dist/engine/queueAnswerCommand.d.ts +10 -0
  124. package/dist/engine/queueAnswerCommand.d.ts.map +1 -1
  125. package/dist/engine/readOrContinueReview.d.ts +11 -0
  126. package/dist/engine/readOrContinueReview.d.ts.map +1 -1
  127. package/dist/engine/readOrContinueReview.js +2 -1
  128. package/dist/engine/readOrContinueReview.js.map +1 -1
  129. package/dist/engine/readResolution.d.ts +1 -0
  130. package/dist/engine/readResolution.d.ts.map +1 -1
  131. package/dist/engine/readRetry.d.ts +2344 -2010
  132. package/dist/engine/readRetry.d.ts.map +1 -1
  133. package/dist/engine/readRetry.js +20 -1
  134. package/dist/engine/readRetry.js.map +1 -1
  135. package/dist/engine/reassignCommand.d.ts +10 -0
  136. package/dist/engine/reassignCommand.d.ts.map +1 -1
  137. package/dist/engine/reconcileAttempt.d.ts +12 -1
  138. package/dist/engine/reconcileAttempt.d.ts.map +1 -1
  139. package/dist/engine/reconcileAttempt.js +2 -1
  140. package/dist/engine/reconcileAttempt.js.map +1 -1
  141. package/dist/engine/reconcileCommand.d.ts +10 -0
  142. package/dist/engine/reconcileCommand.d.ts.map +1 -1
  143. package/dist/engine/recordResponseCommand.d.ts +551 -0
  144. package/dist/engine/recordResponseCommand.d.ts.map +1 -0
  145. package/dist/engine/recordResponseCommand.js +30 -0
  146. package/dist/engine/recordResponseCommand.js.map +1 -0
  147. package/dist/engine/recoverStall.d.ts +1172 -1004
  148. package/dist/engine/recoverStall.d.ts.map +1 -1
  149. package/dist/engine/recoverStall.js +1 -1
  150. package/dist/engine/recoverStall.js.map +1 -1
  151. package/dist/engine/recoverUnobservable.d.ts +1172 -1004
  152. package/dist/engine/recoverUnobservable.d.ts.map +1 -1
  153. package/dist/engine/refreshBrief.d.ts +2344 -2009
  154. package/dist/engine/refreshBrief.d.ts.map +1 -1
  155. package/dist/engine/refreshReviewResult.d.ts +21 -0
  156. package/dist/engine/refreshReviewResult.d.ts.map +1 -1
  157. package/dist/engine/releaseClosedPreparation.d.ts +1171 -1003
  158. package/dist/engine/releaseClosedPreparation.d.ts.map +1 -1
  159. package/dist/engine/releaseExecution.d.ts +1170 -1003
  160. package/dist/engine/releaseExecution.d.ts.map +1 -1
  161. package/dist/engine/releaseFinishedWork.d.ts +10 -0
  162. package/dist/engine/releaseFinishedWork.d.ts.map +1 -1
  163. package/dist/engine/repository.d.ts +1115 -1003
  164. package/dist/engine/repository.d.ts.map +1 -1
  165. package/dist/engine/repository.js +12 -12
  166. package/dist/engine/repository.js.map +1 -1
  167. package/dist/engine/requestConflictRepair.d.ts +1170 -1003
  168. package/dist/engine/requestConflictRepair.d.ts.map +1 -1
  169. package/dist/engine/requestRework.d.ts +20 -0
  170. package/dist/engine/requestRework.d.ts.map +1 -1
  171. package/dist/engine/resolveCommand.d.ts +10 -0
  172. package/dist/engine/resolveCommand.d.ts.map +1 -1
  173. package/dist/engine/resolveExecution.d.ts +1170 -1003
  174. package/dist/engine/resolveExecution.d.ts.map +1 -1
  175. package/dist/engine/resumeAttempt.d.ts +1171 -1003
  176. package/dist/engine/resumeAttempt.d.ts.map +1 -1
  177. package/dist/engine/retireUnacknowledged.d.ts +20 -0
  178. package/dist/engine/retireUnacknowledged.d.ts.map +1 -1
  179. package/dist/engine/retryTerminal.d.ts +1160 -1003
  180. package/dist/engine/retryTerminal.d.ts.map +1 -1
  181. package/dist/engine/saveLaunch.d.ts +10598 -0
  182. package/dist/engine/saveLaunch.d.ts.map +1 -0
  183. package/dist/engine/saveLaunch.js +30 -0
  184. package/dist/engine/saveLaunch.js.map +1 -0
  185. package/dist/engine/scheduler.d.ts +21 -1
  186. package/dist/engine/scheduler.d.ts.map +1 -1
  187. package/dist/engine/scheduler.js +3 -5
  188. package/dist/engine/scheduler.js.map +1 -1
  189. package/dist/engine/sessionCleanup.d.ts +20 -0
  190. package/dist/engine/sessionCleanup.d.ts.map +1 -1
  191. package/dist/engine/settleMergedDelivery.d.ts +1170 -1003
  192. package/dist/engine/settleMergedDelivery.d.ts.map +1 -1
  193. package/dist/engine/steerBrief.d.ts +1075 -898
  194. package/dist/engine/steerBrief.d.ts.map +1 -1
  195. package/dist/engine/submissionFailure.d.ts +1150 -1003
  196. package/dist/engine/submissionFailure.d.ts.map +1 -1
  197. package/dist/engine/submitLaunch.d.ts +1160 -1003
  198. package/dist/engine/submitLaunch.d.ts.map +1 -1
  199. package/dist/engine/views.d.ts.map +1 -1
  200. package/dist/engine/views.js +4 -0
  201. package/dist/engine/views.js.map +1 -1
  202. package/dist/engine/workerReport.d.ts +30 -0
  203. package/dist/engine/workerReport.d.ts.map +1 -1
  204. package/dist/fleet.d.ts +2716 -983
  205. package/dist/fleet.d.ts.map +1 -1
  206. package/dist/fleet.js +4 -0
  207. package/dist/fleet.js.map +1 -1
  208. package/dist/host/actionCommands.d.ts.map +1 -1
  209. package/dist/host/actionCommands.js +7 -6
  210. package/dist/host/actionCommands.js.map +1 -1
  211. package/dist/host/admission.d.ts +24 -1
  212. package/dist/host/admission.d.ts.map +1 -1
  213. package/dist/host/admission.js +2 -2
  214. package/dist/host/admission.js.map +1 -1
  215. package/dist/host/answerWork.d.ts +12 -2
  216. package/dist/host/answerWork.d.ts.map +1 -1
  217. package/dist/host/answerWork.js +19 -23
  218. package/dist/host/answerWork.js.map +1 -1
  219. package/dist/host/commands.d.ts +28 -4
  220. package/dist/host/commands.d.ts.map +1 -1
  221. package/dist/host/commands.js +19 -5
  222. package/dist/host/commands.js.map +1 -1
  223. package/dist/host/config.d.ts +77 -1
  224. package/dist/host/config.d.ts.map +1 -1
  225. package/dist/host/config.js +37 -9
  226. package/dist/host/config.js.map +1 -1
  227. package/dist/host/configSettings.d.ts +486 -0
  228. package/dist/host/configSettings.d.ts.map +1 -0
  229. package/dist/host/configSettings.js +113 -0
  230. package/dist/host/configSettings.js.map +1 -0
  231. package/dist/host/daemon.d.ts +880 -1185
  232. package/dist/host/daemon.d.ts.map +1 -1
  233. package/dist/host/daemon.js +2 -1
  234. package/dist/host/daemon.js.map +1 -1
  235. package/dist/host/daemonClient.d.ts +300 -605
  236. package/dist/host/daemonClient.d.ts.map +1 -1
  237. package/dist/host/daemonClient.js +28 -7
  238. package/dist/host/daemonClient.js.map +1 -1
  239. package/dist/host/daemonContract.d.ts +1974 -3079
  240. package/dist/host/daemonContract.d.ts.map +1 -1
  241. package/dist/host/daemonContract.js +12 -4
  242. package/dist/host/daemonContract.js.map +1 -1
  243. package/dist/host/daemonDiagnostics.d.ts.map +1 -1
  244. package/dist/host/daemonDiagnostics.js +9 -3
  245. package/dist/host/daemonDiagnostics.js.map +1 -1
  246. package/dist/host/daemonHandlers.d.ts +2 -1
  247. package/dist/host/daemonHandlers.d.ts.map +1 -1
  248. package/dist/host/daemonHandlers.js +20 -7
  249. package/dist/host/daemonHandlers.js.map +1 -1
  250. package/dist/host/daemonSnapshots.d.ts.map +1 -1
  251. package/dist/host/daemonSnapshots.js +21 -1
  252. package/dist/host/daemonSnapshots.js.map +1 -1
  253. package/dist/host/dispatchRequests.d.ts +30 -0
  254. package/dist/host/dispatchRequests.d.ts.map +1 -0
  255. package/dist/host/dispatchRequests.js +40 -0
  256. package/dist/host/dispatchRequests.js.map +1 -0
  257. package/dist/host/follow.js +1 -1
  258. package/dist/host/follow.js.map +1 -1
  259. package/dist/host/followState.d.ts.map +1 -1
  260. package/dist/host/followState.js +5 -4
  261. package/dist/host/followState.js.map +1 -1
  262. package/dist/host/github.d.ts +5 -6
  263. package/dist/host/github.d.ts.map +1 -1
  264. package/dist/host/github.js +3 -4
  265. package/dist/host/github.js.map +1 -1
  266. package/dist/host/githubApi.d.ts +15 -0
  267. package/dist/host/githubApi.d.ts.map +1 -0
  268. package/dist/host/githubApi.js +117 -0
  269. package/dist/host/githubApi.js.map +1 -0
  270. package/dist/host/githubChecks.d.ts +13 -3
  271. package/dist/host/githubChecks.d.ts.map +1 -1
  272. package/dist/host/githubChecks.js +5 -5
  273. package/dist/host/githubChecks.js.map +1 -1
  274. package/dist/host/githubDelivery.d.ts +13 -1
  275. package/dist/host/githubDelivery.d.ts.map +1 -1
  276. package/dist/host/githubDelivery.js +39 -6
  277. package/dist/host/githubDelivery.js.map +1 -1
  278. package/dist/host/githubRateLimit.d.ts +23 -0
  279. package/dist/host/githubRateLimit.d.ts.map +1 -0
  280. package/dist/host/githubRateLimit.js +70 -0
  281. package/dist/host/githubRateLimit.js.map +1 -0
  282. package/dist/host/githubRequiredChecks.d.ts +1 -2
  283. package/dist/host/githubRequiredChecks.d.ts.map +1 -1
  284. package/dist/host/githubRequiredChecks.js +2 -2
  285. package/dist/host/githubRequiredChecks.js.map +1 -1
  286. package/dist/host/githubResponse.d.ts +10 -0
  287. package/dist/host/githubResponse.d.ts.map +1 -0
  288. package/dist/host/githubResponse.js +29 -0
  289. package/dist/host/githubResponse.js.map +1 -0
  290. package/dist/host/githubResult.d.ts +3 -2
  291. package/dist/host/githubResult.d.ts.map +1 -1
  292. package/dist/host/githubResult.js +9 -12
  293. package/dist/host/githubResult.js.map +1 -1
  294. package/dist/host/githubTransport.d.ts +13 -0
  295. package/dist/host/githubTransport.d.ts.map +1 -0
  296. package/dist/host/{githubRead.js → githubTransport.js} +9 -10
  297. package/dist/host/githubTransport.js.map +1 -0
  298. package/dist/host/integrations.d.ts +6 -0
  299. package/dist/host/integrations.d.ts.map +1 -0
  300. package/dist/host/integrations.js +34 -0
  301. package/dist/host/integrations.js.map +1 -0
  302. package/dist/host/liveConfig.d.ts +21 -0
  303. package/dist/host/liveConfig.d.ts.map +1 -0
  304. package/dist/host/liveConfig.js +74 -0
  305. package/dist/host/liveConfig.js.map +1 -0
  306. package/dist/host/providers.d.ts.map +1 -1
  307. package/dist/host/providers.js +2 -2
  308. package/dist/host/providers.js.map +1 -1
  309. package/dist/host/readWaitStates.d.ts.map +1 -1
  310. package/dist/host/readWaitStates.js +8 -18
  311. package/dist/host/readWaitStates.js.map +1 -1
  312. package/dist/host/reassignWork.d.ts +10 -0
  313. package/dist/host/reassignWork.d.ts.map +1 -1
  314. package/dist/host/recordDecisionResponse.d.ts +1 -0
  315. package/dist/host/recordDecisionResponse.d.ts.map +1 -1
  316. package/dist/host/releaseWork.d.ts +24 -3
  317. package/dist/host/releaseWork.d.ts.map +1 -1
  318. package/dist/host/releaseWork.js +11 -7
  319. package/dist/host/releaseWork.js.map +1 -1
  320. package/dist/host/renderStatus.d.ts +2 -2
  321. package/dist/host/renderStatus.d.ts.map +1 -1
  322. package/dist/host/renderStatus.js +8 -2
  323. package/dist/host/renderStatus.js.map +1 -1
  324. package/dist/host/reportBoard.d.ts +1 -1
  325. package/dist/host/reportBoard.d.ts.map +1 -1
  326. package/dist/host/reportBoard.js +6 -3
  327. package/dist/host/reportBoard.js.map +1 -1
  328. package/dist/host/reportPublication.d.ts +2 -1
  329. package/dist/host/reportPublication.d.ts.map +1 -1
  330. package/dist/host/reportPublication.js +5 -2
  331. package/dist/host/reportPublication.js.map +1 -1
  332. package/dist/host/runtime.d.ts +8 -6
  333. package/dist/host/runtime.d.ts.map +1 -1
  334. package/dist/host/runtime.js +37 -46
  335. package/dist/host/runtime.js.map +1 -1
  336. package/dist/host/snapshotStream.d.ts.map +1 -1
  337. package/dist/host/snapshotStream.js +4 -1
  338. package/dist/host/snapshotStream.js.map +1 -1
  339. package/dist/host/status.d.ts +22 -2
  340. package/dist/host/status.d.ts.map +1 -1
  341. package/dist/host/status.js +19 -5
  342. package/dist/host/status.js.map +1 -1
  343. package/dist/host/statusLayer.d.ts +3 -3
  344. package/dist/host/statusLayer.d.ts.map +1 -1
  345. package/dist/host/statusLayer.js +13 -3
  346. package/dist/host/statusLayer.js.map +1 -1
  347. package/dist/host/waitOutcome.d.ts.map +1 -1
  348. package/dist/host/waitOutcome.js +5 -2
  349. package/dist/host/waitOutcome.js.map +1 -1
  350. package/dist/model.d.ts +39 -0
  351. package/dist/model.d.ts.map +1 -1
  352. package/dist/model.js +5 -0
  353. package/dist/model.js.map +1 -1
  354. package/dist/operations.d.ts +270 -0
  355. package/dist/operations.d.ts.map +1 -1
  356. package/dist/packageInfo.d.ts +1 -1
  357. package/dist/packageInfo.js +1 -1
  358. package/dist/policy.d.ts +7 -0
  359. package/dist/policy.d.ts.map +1 -1
  360. package/dist/policy.js +2 -0
  361. package/dist/policy.js.map +1 -1
  362. package/dist/providers/codexCloud.d.ts +2 -0
  363. package/dist/providers/codexCloud.d.ts.map +1 -1
  364. package/dist/providers/codexCloud.js +2 -1
  365. package/dist/providers/codexCloud.js.map +1 -1
  366. package/dist/qualifyDependencies.d.ts +10 -0
  367. package/dist/qualifyDependencies.d.ts.map +1 -1
  368. package/dist/scheduling/admission.d.ts +1635 -0
  369. package/dist/scheduling/admission.d.ts.map +1 -0
  370. package/dist/scheduling/admission.js +11 -0
  371. package/dist/scheduling/admission.js.map +1 -0
  372. package/dist/scheduling/areas.d.ts +30 -0
  373. package/dist/scheduling/areas.d.ts.map +1 -1
  374. package/dist/scheduling/backPressure.d.ts +1637 -0
  375. package/dist/scheduling/backPressure.d.ts.map +1 -0
  376. package/dist/scheduling/backPressure.js +44 -0
  377. package/dist/scheduling/backPressure.js.map +1 -0
  378. package/dist/storage/FleetStoreOptions.d.ts +2 -2
  379. package/dist/storage/FleetStoreOptions.d.ts.map +1 -1
  380. package/dist/storage/addShapeColumns.d.ts +5 -0
  381. package/dist/storage/addShapeColumns.d.ts.map +1 -0
  382. package/dist/storage/addShapeColumns.js +24 -0
  383. package/dist/storage/addShapeColumns.js.map +1 -0
  384. package/dist/storage/dispatchStore.d.ts +47 -0
  385. package/dist/storage/dispatchStore.d.ts.map +1 -0
  386. package/dist/storage/dispatchStore.js +89 -0
  387. package/dist/storage/dispatchStore.js.map +1 -0
  388. package/dist/storage/errors.d.ts +2 -1
  389. package/dist/storage/errors.d.ts.map +1 -1
  390. package/dist/storage/errors.js +2 -1
  391. package/dist/storage/errors.js.map +1 -1
  392. package/dist/storage/fleetMigrations.d.ts +1 -1
  393. package/dist/storage/fleetMigrations.d.ts.map +1 -1
  394. package/dist/storage/fleetMigrations.js +24 -17
  395. package/dist/storage/fleetMigrations.js.map +1 -1
  396. package/dist/storage/listedRecords.d.ts +9 -0
  397. package/dist/storage/listedRecords.d.ts.map +1 -0
  398. package/dist/storage/listedRecords.js +40 -0
  399. package/dist/storage/listedRecords.js.map +1 -0
  400. package/dist/storage/makePostgresFleetStore.d.ts +2 -6
  401. package/dist/storage/makePostgresFleetStore.d.ts.map +1 -1
  402. package/dist/storage/makePostgresFleetStore.js +4 -10
  403. package/dist/storage/makePostgresFleetStore.js.map +1 -1
  404. package/dist/storage/model.d.ts +9 -0
  405. package/dist/storage/model.d.ts.map +1 -1
  406. package/dist/storage/model.js.map +1 -1
  407. package/dist/storage/shapeV14.d.ts +808 -0
  408. package/dist/storage/shapeV14.d.ts.map +1 -0
  409. package/dist/storage/shapeV14.js +18 -0
  410. package/dist/storage/shapeV14.js.map +1 -0
  411. package/package.json +6 -6
  412. package/src/DispatchRequest.ts +13 -0
  413. package/src/attention.ts +5 -0
  414. package/src/board/fleetField.ts +5 -0
  415. package/src/board/markdown.ts +7 -2
  416. package/src/cli.ts +24 -10
  417. package/src/engine/admissionOrder.ts +25 -0
  418. package/src/engine/dispatchCommand.ts +29 -5
  419. package/src/engine/failureContext.ts +1 -0
  420. package/src/engine/failureMessage.ts +12 -1
  421. package/src/engine/localOnlyCriteria.ts +6 -1
  422. package/src/engine/makeLaunch.ts +4 -17
  423. package/src/engine/makeState.ts +30 -26
  424. package/src/engine/mergeReadiness.ts +6 -5
  425. package/src/engine/obtainReview.ts +2 -1
  426. package/src/engine/prepareCommand.ts +1 -1
  427. package/src/engine/readOrContinueReview.ts +2 -1
  428. package/src/engine/readRetry.ts +23 -1
  429. package/src/engine/reconcileAttempt.ts +2 -1
  430. package/src/engine/recordResponseCommand.ts +38 -0
  431. package/src/engine/recoverStall.ts +1 -1
  432. package/src/engine/repository.ts +17 -16
  433. package/src/engine/saveLaunch.ts +45 -0
  434. package/src/engine/scheduler.ts +4 -6
  435. package/src/engine/views.ts +5 -0
  436. package/src/fleet.ts +4 -0
  437. package/src/host/actionCommands.ts +22 -7
  438. package/src/host/admission.ts +3 -3
  439. package/src/host/answerWork.ts +28 -27
  440. package/src/host/commands.ts +29 -8
  441. package/src/host/config.ts +46 -9
  442. package/src/host/configSettings.ts +124 -0
  443. package/src/host/daemon.ts +2 -1
  444. package/src/host/daemonClient.ts +42 -7
  445. package/src/host/daemonContract.ts +12 -4
  446. package/src/host/daemonDiagnostics.ts +11 -3
  447. package/src/host/daemonHandlers.ts +24 -7
  448. package/src/host/daemonSnapshots.ts +24 -1
  449. package/src/host/dispatchRequests.ts +53 -0
  450. package/src/host/follow.ts +1 -1
  451. package/src/host/followState.ts +6 -6
  452. package/src/host/github.ts +8 -6
  453. package/src/host/githubApi.ts +142 -0
  454. package/src/host/githubChecks.ts +6 -5
  455. package/src/host/githubDelivery.ts +47 -10
  456. package/src/host/githubRateLimit.ts +91 -0
  457. package/src/host/githubRequiredChecks.ts +2 -2
  458. package/src/host/githubResponse.ts +37 -0
  459. package/src/host/githubResult.ts +15 -17
  460. package/src/host/githubTransport.ts +31 -0
  461. package/src/host/integrations.ts +40 -0
  462. package/src/host/liveConfig.ts +134 -0
  463. package/src/host/providers.ts +4 -2
  464. package/src/host/readWaitStates.ts +8 -20
  465. package/src/host/releaseWork.ts +12 -9
  466. package/src/host/renderStatus.ts +10 -3
  467. package/src/host/reportBoard.ts +6 -3
  468. package/src/host/reportPublication.ts +6 -4
  469. package/src/host/runtime.ts +48 -56
  470. package/src/host/snapshotStream.ts +6 -1
  471. package/src/host/status.ts +24 -7
  472. package/src/host/statusLayer.ts +21 -5
  473. package/src/host/waitOutcome.ts +5 -2
  474. package/src/model.ts +6 -0
  475. package/src/packageInfo.ts +1 -1
  476. package/src/policy.ts +7 -0
  477. package/src/providers/codexCloud.ts +2 -1
  478. package/src/scheduling/admission.ts +19 -0
  479. package/src/scheduling/backPressure.ts +55 -0
  480. package/src/storage/FleetStoreOptions.ts +7 -2
  481. package/src/storage/addShapeColumns.ts +24 -0
  482. package/src/storage/dispatchStore.ts +104 -0
  483. package/src/storage/errors.ts +2 -1
  484. package/src/storage/fleetMigrations.ts +24 -17
  485. package/src/storage/listedRecords.ts +53 -0
  486. package/src/storage/makePostgresFleetStore.ts +4 -10
  487. package/src/storage/model.ts +7 -0
  488. package/src/storage/shapeV14.ts +19 -0
  489. package/dist/host/githubRead.d.ts +0 -5
  490. package/dist/host/githubRead.d.ts.map +0 -1
  491. package/dist/host/githubRead.js.map +0 -1
  492. package/dist/host/recordPayloads.d.ts +0 -4
  493. package/dist/host/recordPayloads.d.ts.map +0 -1
  494. package/dist/host/recordPayloads.js +0 -21
  495. package/dist/host/recordPayloads.js.map +0 -1
  496. package/dist/storage/migrateFleet.d.ts +0 -3
  497. package/dist/storage/migrateFleet.d.ts.map +0 -1
  498. package/dist/storage/migrateFleet.js +0 -11
  499. package/dist/storage/migrateFleet.js.map +0 -1
  500. package/src/host/githubRead.ts +0 -20
  501. package/src/host/recordPayloads.ts +0 -24
  502. package/src/storage/migrateFleet.ts +0 -11
@@ -1,8 +1,9 @@
1
1
  import { diagnostics as diagnosticsApi } from "@shivaedev/work-board/integration/diagnostics.ts";
2
2
  import { sessionStatus } from "#engine/sessionStatus.ts";
3
+ import { renderConfig } from "#host/configSettings.ts";
3
4
  const { DAEMON_PORT } = diagnosticsApi;
4
5
  function line(view, waiting, port) {
5
- const reason = view.decision?.reason ?? view.blocker;
6
+ const reason = view.blocker ?? view.decision?.reason ?? (view.overLimit ? "launched over the limit" : undefined);
6
7
  const detail = reason === undefined ? "" : ` ${reason}`;
7
8
  const links = [...view.links, ...view.sessions.map(sessionStatus)];
8
9
  const answer = waiting ? `\n work-fleet answer ${view.workId}${port === DAEMON_PORT ? "" : ` --port ${port}`}` : "";
@@ -16,11 +17,16 @@ export function renderStatus(current, port = DAEMON_PORT) {
16
17
  ["Waiting on automation", current.waiting.automation],
17
18
  ["Completed", current.completed],
18
19
  ];
19
- return sections
20
+ const rendered = sections
20
21
  .map(([title, items]) => [
21
22
  `${title} (${items.length})`,
22
23
  ...items.map((item) => line(item, title === "Waiting on maintainer" || title === "Waiting on orchestrator", port)),
23
24
  ].join("\n"))
24
25
  .join("\n");
26
+ const dispatches = current.dispatches ?? [];
27
+ const views = dispatches.length === 0
28
+ ? rendered
29
+ : `${rendered}\nDispatches (${dispatches.length})\n${dispatches.map((request) => ` ${request.workId} dispatch ${request.status}${request.error === undefined ? "" : `: ${request.error}`}`).join("\n")}`;
30
+ return current.config === undefined ? views : `${views}\n${renderConfig(current.config)}`;
25
31
  }
26
32
  //# sourceMappingURL=renderStatus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderStatus.js","sourceRoot":"","sources":["../../src/host/renderStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;AAIvC,SAAS,IAAI,CAAC,IAAU,EAAE,OAAgB,EAAE,IAAY;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;IACzD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,2BAA2B,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvH,OAAO,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA+B,EAAE,IAAI,GAAW,WAAW;IACvF,MAAM,QAAQ,GAAyC;QACtD,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC,uBAAuB,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QACrD,CAAC,yBAAyB,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACzD,CAAC,uBAAuB,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QACrD,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC;KAChC,CAAC;IACF,OAAO,QAAQ;SACb,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CACvB;QACC,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG;QAC5B,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,uBAAuB,IAAI,KAAK,KAAK,yBAAyB,EAAE,IAAI,CAAC,CAAC;KAClH,CAAC,IAAI,CAAC,IAAI,CAAC,CACZ;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"renderStatus.js","sourceRoot":"","sources":["../../src/host/renderStatus.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,5 @@ import { type ReportAttachments } from "#reportAttachments.ts";
7
7
  import { type SessionObservation } from "#session/schema.ts";
8
8
  export declare const PUBLISHED_REPORT = "Report worker published to GitHub";
9
9
  export declare function reportBoard<TCheckServices, TCheckError, TFileServices, TFileError>(root: string, check: (work: BoardWork) => Effect.Effect<boolean, TCheckError, TCheckServices>, files: (observation: SessionObservation) => Effect.Effect<ReportAttachments, TFileError, TFileServices>): Layer.Layer<BoardGateway | ReportInspection, never, BoardGateway | Exclude<TCheckServices, import("effect/Scope").Scope> | Exclude<TFileServices, import("effect/Scope").Scope>>;
10
- export declare function hostReportBoard(host: FleetHost): Layer.Layer<BoardGateway | ReportInspection, import("effect/PlatformError").PlatformError, MainSource>;
10
+ export declare function hostReportBoard(host: FleetHost): Layer.Layer<BoardGateway | ReportInspection, import("effect/PlatformError").PlatformError, "Fleet/GithubApi" | MainSource>;
11
11
  //# sourceMappingURL=reportBoard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reportBoard.d.ts","sourceRoot":"","sources":["../../src/host/reportBoard.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAUhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAgB,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,eAAO,MAAM,gBAAgB,sCAAsC,CAAC;AAsEpE,wBAAgB,WAAW,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EACjF,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,EAC/E,KAAK,EAAE,CAAC,WAAW,EAAE,kBAAkB,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,aAAa,CAAC,oLAsBvG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,0GAuB9C"}
1
+ {"version":3,"file":"reportBoard.d.ts","sourceRoot":"","sources":["../../src/host/reportBoard.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAUhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAgB,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,eAAO,MAAM,gBAAgB,sCAAsC,CAAC;AAsEpE,wBAAgB,WAAW,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EACjF,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,EAC/E,KAAK,EAAE,CAAC,WAAW,EAAE,kBAAkB,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,aAAa,CAAC,oLAsBvG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,8HAwB9C"}
@@ -1,7 +1,7 @@
1
1
  import * as NodeServices from "@effect/platform-node/NodeServices";
2
2
  import { Context, Effect, Layer } from "effect";
3
3
  import { defineService } from "@shivaedev/effect-service/define-service.ts";
4
- import { BadRequest, ServiceUnavailable } from "@shivaedev/platform/errors/taxonomy.ts";
4
+ import { BadRequest } from "@shivaedev/platform/errors/taxonomy.ts";
5
5
  import { markdownBoard } from "#board/markdown.ts";
6
6
  import { reportContent } from "#board/reportContent.ts";
7
7
  import { reportFiles } from "#board/reportFiles.ts";
@@ -11,6 +11,8 @@ import { reportPayload } from "#board/reportPayload.ts";
11
11
  import { withFailureContext } from "#engine/failureContext.ts";
12
12
  import { ReportInspection } from "#engine/ReportInspection.ts";
13
13
  import { isFleetError } from "#errors.ts";
14
+ import { GithubApi } from "#host/githubApi.ts";
15
+ import { githubFailure } from "#host/githubRateLimit.ts";
14
16
  import { MainSource } from "#host/mainSource.ts";
15
17
  import { reportPublication, reportRepository } from "#host/reportPublication.ts";
16
18
  import { BoardFailure, BoardGateway } from "#policy.ts";
@@ -43,7 +45,7 @@ const ReportBoard = defineService({
43
45
  const board = yield* BoardGateway;
44
46
  const { root, check, files } = yield* ReportInputs;
45
47
  function inspect(work) {
46
- return check(work).pipe(Effect.mapError(() => new ServiceUnavailable({ message: "Report publication could not be checked on GitHub" })), Effect.flatMap((published) => published ? Effect.fail(withFailureContext(new BadRequest({ message: PUBLISHED_REPORT }), { code: "report-published" })) : Effect.void));
48
+ return check(work).pipe(Effect.mapError(githubFailure("Report publication could not be checked on GitHub")), Effect.flatMap((published) => published ? Effect.fail(withFailureContext(new BadRequest({ message: PUBLISHED_REPORT }), { code: "report-published" })) : Effect.void));
47
49
  }
48
50
  const collect = Effect.fn("Fleet.collect")(function* (work, observation) {
49
51
  const attachments = yield* files(observation).pipe(Effect.catch((error) => error instanceof ReportFileFailure ? Effect.fail(error) : Effect.succeed(unavailableAttachments(observation, error))));
@@ -84,12 +86,13 @@ export function reportBoard(root, check, files) {
84
86
  export function hostReportBoard(host) {
85
87
  return Layer.unwrap(Effect.gen(function* () {
86
88
  const main = yield* MainSource;
89
+ const github = yield* GithubApi;
87
90
  function check(work) {
88
91
  return Effect.gen(function* () {
89
92
  if (host.worker === undefined) {
90
93
  return yield* Effect.fail(new BoardFailure({ message: "Report publication checks need worker.branchPrefix" }));
91
94
  }
92
- return yield* reportPublication(yield* reportRepository(main.repositoryRoot, host.repository.remote), `${host.worker.branchPrefix}${work.workId}`);
95
+ return yield* reportPublication(github)(yield* reportRepository(main.repositoryRoot, host.repository.remote), `${host.worker.branchPrefix}${work.workId}`);
93
96
  });
94
97
  }
95
98
  function files(observation) {
@@ -1 +1 @@
1
- {"version":3,"file":"reportBoard.js","sourceRoot":"","sources":["../../src/host/reportBoard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reportBoard.js","sourceRoot":"","sources":["../../src/host/reportBoard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAA0B,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAA2B,MAAM,oBAAoB,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAEpE,SAAS,iBAAiB,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GACZ,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,YAAY,iBAAiB;QAC3F,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,kDAAkD,CAAC;IACvD,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,sBAAsB,CAAC,WAA+B,EAAE,KAAc;IAC9E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO;QACN,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KAC/I,CAAC;AACH,CAAC;AAED,MAAM,YAAa,SAAQ,OAAO,CAAC,OAAO,EAOvC,CAAC,oBAAoB,CAAC;CAAG;AAE5B,MAAM,WAAW,GAAG,aAAa,CAAC;IACjC,EAAE,EAAE,mBAAmB;IACvB,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC;QAClC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC;QACnD,SAAS,OAAO,CAAC,IAAe;YAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CACtB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC,EACnF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5B,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CACtI,CACD,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAe,EAAE,WAA+B;YACrG,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACtB,KAAK,YAAY,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CACpH,CACD,CAAC;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;YACpG,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAe,EAAE,WAA+B;YACnG,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,OAAO,GAAG,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;YAChE,MAAM,iBAAiB,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACrE,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAC9C,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACrD,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC,CAAC;IACF,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC9D,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CAC1B,IAAY,EACZ,KAA+E,EAC/E,KAAuG;IAEvG,OAAO,KAAK,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAkC,CAAC;QACzE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE;YAC1C,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3D,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzE,IAAI;SACJ,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;YACnC,OAAO,KAAK,CAAC,KAAK,CACjB,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EACzD,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CACjE,CAAC;QACH,CAAC,CAAC,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAe;IAC9C,OAAO,KAAK,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;QAChC,SAAS,KAAK,CAAC,IAAe;YAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAAC,CAAC,CAAC;gBAChH,CAAC;gBACD,OAAO,KAAK,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CACtC,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACpE,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAC3C,CAAC;YACH,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,SAAS,KAAK,CAAC,WAA+B;YAC7C,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAC3D,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC;gBACxF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { Effect } from "effect";
2
2
  import { ServiceUnavailable } from "@shivaedev/platform/errors/taxonomy.ts";
3
3
  import type { FleetError } from "#errors.ts";
4
+ import type { GithubRead } from "#host/github.ts";
4
5
  export declare function makeReportPublication<R>(read: (endpoint: string) => Effect.Effect<string, FleetError, R>): (repository: string, branch: string) => Effect.Effect<boolean, ServiceUnavailable, R>;
5
- export declare const reportPublication: (repository: string, branch: string) => Effect.Effect<boolean, ServiceUnavailable, import("effect/process/ChildProcessSpawner").ChildProcessSpawner>;
6
+ export declare function reportPublication(read: GithubRead): (repository: string, branch: string) => Effect.Effect<boolean, ServiceUnavailable, never>;
6
7
  export declare const reportRepository: (cwd: string, remote: string) => Effect.Effect<string, ServiceUnavailable, import("effect/process/ChildProcessSpawner").ChildProcessSpawner>;
7
8
  //# sourceMappingURL=reportPublication.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reportPublication.d.ts","sourceRoot":"","sources":["../../src/host/reportPublication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,yFAaxG;AAED,eAAO,MAAM,iBAAiB,sJAE7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,8IAQ3B,CAAC"}
1
+ {"version":3,"file":"reportPublication.d.ts","sourceRoot":"","sources":["../../src/host/reportPublication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,yFAaxG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,6FAEjD;AAED,eAAO,MAAM,gBAAgB,8IAQ3B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Effect, Schema } from "effect";
2
2
  import { ServiceUnavailable } from "@shivaedev/platform/errors/taxonomy.ts";
3
+ import { githubFailure } from "#host/githubRateLimit.ts";
3
4
  import { readCommand } from "#host/readCommand.ts";
4
5
  const References = Schema.Array(Schema.Array(Schema.Struct({ ref: Schema.String })));
5
6
  const PullRequests = Schema.Array(Schema.Array(Schema.Struct({ htmlUrl: Schema.String }).pipe(Schema.encodeKeys({ htmlUrl: "html_url" }))));
@@ -8,9 +9,11 @@ export function makeReportPublication(read) {
8
9
  const refs = yield* read(`repos/${repository}/git/matching-refs/heads/${encodeURIComponent(branch)}`).pipe(Effect.flatMap(Schema.decodeUnknownEffect(Schema.fromJsonString(References))));
9
10
  const prs = yield* read(`repos/${repository}/pulls?state=all&head=${encodeURIComponent(`${repository.split("/")[0]}:${branch}`)}&per_page=100`).pipe(Effect.flatMap(Schema.decodeUnknownEffect(Schema.fromJsonString(PullRequests))));
10
11
  return refs.flat().some((ref) => ref.ref === `refs/heads/${branch}`) || prs.flat().length > 0;
11
- }, Effect.mapError(() => new ServiceUnavailable({ message: "Report publication could not be checked on GitHub" })));
12
+ }, Effect.mapError(githubFailure("Report publication could not be checked on GitHub")));
13
+ }
14
+ export function reportPublication(read) {
15
+ return makeReportPublication(read.pages);
12
16
  }
13
- export const reportPublication = makeReportPublication((endpoint) => readCommand("gh", ["api", "--method", "GET", "--paginate", "--slurp", endpoint]));
14
17
  export const reportRepository = Effect.fn("Fleet.reportRepository")(function* (cwd, remote) {
15
18
  const url = (yield* readCommand("git", ["remote", "get-url", remote], cwd)).trim();
16
19
  const repository = /^(?:https:\/\/github\.com\/|git@github\.com:)(?<repository>[A-Za-z0-9-]+\/[A-Za-z0-9_.-]+?)(?:\.git)?$/u.exec(url)?.groups
@@ -1 +1 @@
1
- {"version":3,"file":"reportPublication.js","sourceRoot":"","sources":["../../src/host/reportPublication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reportPublication.js","sourceRoot":"","sources":["../../src/host/reportPublication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACrF,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5I,MAAM,UAAU,qBAAqB,CAAI,IAAgE;IACxG,OAAO,MAAM,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAC1C,QAAQ,CAAC,EAAE,UAAkB,EAAE,MAAc;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,4BAA4B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CACzG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAC7E,CAAC;QACF,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,CACtB,SAAS,UAAU,yBAAyB,kBAAkB,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,eAAe,CACtH,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,cAAc,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/F,CAAC,EACD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC,CACnF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IACjD,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAW,EAAE,MAAc;IACzG,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnF,MAAM,UAAU,GAAG,yGAAyG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM;QAC7I,EAAE,UAAU,CAAC;IACd,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC,CAAC"}
@@ -2,17 +2,19 @@ import { Layer } from "effect";
2
2
  import { ServiceUnavailable } from "@shivaedev/platform/errors/taxonomy.ts";
3
3
  import type { ReportInspection } from "#engine/ReportInspection.ts";
4
4
  import { type FleetHost, HostFailure } from "#host/config.ts";
5
+ import { type GithubApi } from "#host/githubApi.ts";
6
+ import { LiveConfig } from "#host/liveConfig.ts";
5
7
  import { MainSource } from "#host/mainSource.ts";
6
- import { type BoardGateway, FleetIntegrations, FleetPolicy } from "#policy.ts";
8
+ import { type BoardGateway, type FleetIntegrations, FleetPolicy } from "#policy.ts";
7
9
  import { type SessionTransport } from "#session/service.ts";
8
- export declare function hostIntegrations(host: FleetHost): Layer.Layer<FleetIntegrations, never, MainSource>;
9
- export declare function hostPolicy(host: FleetHost): Layer.Layer<FleetPolicy, HostFailure | ServiceUnavailable, MainSource>;
10
+ export declare function hostPolicy(host: FleetHost): Layer.Layer<FleetPolicy, ServiceUnavailable, LiveConfig | MainSource>;
10
11
  export declare function hostSql(host: FleetHost): Layer.Layer<import("@shivaedev/platform/appHost.ts").AppChanges | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | import("effect/sql/SqlClient").SqlClient, import("effect/Config").ConfigError | HostFailure | import("effect/sql/Migrator").MigrationError | import("effect/sql/SqlError").SqlError, never>;
11
12
  export declare function fleetHostLayer<TProvider, TMain>(host: FleetHost, parts: {
12
- readonly board?: Layer.Layer<BoardGateway | ReportInspection, unknown, MainSource>;
13
- readonly integrations?: Layer.Layer<FleetIntegrations, unknown, MainSource>;
13
+ readonly board?: Layer.Layer<BoardGateway | ReportInspection, unknown, MainSource | GithubApi>;
14
+ readonly github?: Layer.Layer<GithubApi>;
15
+ readonly integrations?: Layer.Layer<FleetIntegrations, unknown, MainSource | GithubApi>;
14
16
  readonly main: Layer.Layer<MainSource, TMain>;
15
17
  readonly policy?: Layer.Layer<FleetPolicy>;
16
18
  readonly provider: Layer.Layer<SessionTransport, TProvider>;
17
- }): Layer.Layer<"@shivaedev/work-fleet/Fleet" | "@shivaedev/work-fleet/SessionService" | import("@shivaedev/platform/appHost.ts").AppChanges | BoardGateway | FleetIntegrations | FleetPolicy | import("#engine/repository.ts").FleetRepository | MainSource | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | ReportInspection | import("#session/service.ts").SessionJournal | SessionTransport | import("effect/sql/SqlClient").SqlClient, unknown, never>;
19
+ }, config?: Layer.Layer<LiveConfig, unknown>): Layer.Layer<"@shivaedev/work-fleet/Fleet" | "@shivaedev/work-fleet/SessionService" | "Fleet/GithubApi" | import("@shivaedev/platform/appHost.ts").AppChanges | BoardGateway | FleetIntegrations | FleetPolicy | import("#engine/repository.ts").FleetRepository | MainSource | import("@effect/sql-pg/PgClient").PgClient | import("effect/reactivity/Reactivity").Reactivity | ReportInspection | import("#session/service.ts").SessionJournal | SessionTransport | import("effect/sql/SqlClient").SqlClient, unknown, never>;
18
20
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/host/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,EAAY,MAAM,QAAQ,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAG5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM9D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,OAAO,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,qDAoB/C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,0EA8BzC;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,kWAsBtC;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,KAAK,EAC9C,IAAI,EAAE,SAAS,EACf,KAAK,EAAE;IACN,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACnF,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;CAC5D,8eAcD"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/host/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,EAAY,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAsB,UAAU,EAAgB,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,OAAO,EAAE,KAAK,YAAY,EAA2B,KAAK,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7G,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,yEAyCzC;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,kWAsBtC;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,KAAK,EAC9C,IAAI,EAAE,SAAS,EACf,KAAK,EAAE;IACN,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;IAC/F,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;IACxF,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;CAC5D,EACD,MAAM,GAAE,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAsB,kgBAuB7D"}
@@ -1,69 +1,59 @@
1
1
  import * as NodeServices from "@effect/platform-node/NodeServices";
2
2
  import { Clock, Effect, Layer, Redacted } from "effect";
3
- import { defineService } from "@shivaedev/effect-service/define-service.ts";
4
3
  import { appDatabase } from "@shivaedev/platform/appHost.ts";
5
4
  import { ServiceUnavailable } from "@shivaedev/platform/errors/taxonomy.ts";
6
- import { withFailureContext } from "#engine/failureContext.ts";
7
5
  import { fleetSessionJournal, postgresFleetRepository } from "#engine/repository.ts";
8
6
  import { Fleet } from "#fleet.ts";
9
7
  import { HostFailure } from "#host/config.ts";
10
- import { githubChecks } from "#host/githubChecks.ts";
11
- import { githubDelivery } from "#host/githubDelivery.ts";
12
- import { githubResult } from "#host/githubResult.ts";
13
- import { hostGuidance } from "#host/guidance.ts";
8
+ import { githubApiLayer } from "#host/githubApi.ts";
9
+ import { hostIntegrations } from "#host/integrations.ts";
10
+ import { LiveConfig, staticConfig } from "#host/liveConfig.ts";
14
11
  import { localOnlyBoardPath } from "#host/localOnlyBoardPath.ts";
15
12
  import { MainSource } from "#host/mainSource.ts";
16
13
  import { providerHealth } from "#host/providerHealth.ts";
17
14
  import { hostQuota } from "#host/quota.ts";
18
15
  import { hostReportBoard } from "#host/reportBoard.ts";
19
- import { FleetIntegrations, FleetPolicy } from "#policy.ts";
16
+ import { FleetPolicy } from "#policy.ts";
20
17
  import { SessionService } from "#session/service.ts";
21
18
  import { fleetMigrations } from "#storage/fleetMigrations.ts";
22
- function unconfigured(message, code = "fleet-integration") {
23
- return Effect.fail(withFailureContext(new ServiceUnavailable({ message }), { attentionOwner: "automation", code, retryable: false }));
24
- }
25
- export function hostIntegrations(host) {
26
- const HostIntegrations = defineService({
27
- id: "Fleet/HostIntegrations",
28
- initialize: MainSource,
29
- methods: (main) => FleetIntegrations.of({
30
- checks: (_work, result) => result.kind === "no-change"
31
- ? unconfigured("No-change validation is not configured in this Fleet host; inspect the worker session", "no-change-checks-unconfigured")
32
- : githubChecks(result, host.repository.branch).pipe(Effect.provide(NodeServices.layer)),
33
- delivery: githubDelivery(main.repositoryRoot),
34
- main: main.observe,
35
- result: host.result === "github"
36
- ? githubResult(host, main)
37
- : () => unconfigured("Worker result adoption is not configured in this Fleet host; inspect the worker session"),
38
- }),
39
- requires: [MainSource],
40
- });
41
- return Layer.effect(FleetIntegrations)(HostIntegrations).pipe(Layer.provide(HostIntegrations.layer));
42
- }
43
19
  export function hostPolicy(host) {
44
20
  return Layer.effect(FleetPolicy)(Effect.gen(function* () {
45
21
  const clock = yield* Clock.Clock;
46
22
  const main = yield* MainSource;
23
+ const live = yield* LiveConfig;
47
24
  const localPath = host.provider === "cloud" ? yield* localOnlyBoardPath(host.boardDir, main.repositoryRoot) : undefined;
48
- const reviewerGuidance = yield* hostGuidance(host, "reviewer");
49
- const workerGuidance = yield* hostGuidance(host, "worker");
50
25
  function now() {
51
26
  return clock.currentTimeMillisUnsafe();
52
27
  }
53
- return FleetPolicy.of({
54
- areaMergeWaitMs: host.areaMergeWaitMs,
55
- deliveryBacklog: host.backlog,
56
- executionConcurrency: host.concurrency,
57
- launch: host.launch,
58
- ...(localPath === undefined ? {} : { localOnlyBoardPath: localPath }),
59
- now,
60
- operationId: () => crypto.randomUUID(),
61
- quota: { expiresAt: 0, observedAt: 0 },
62
- readGuidance: (role) => (role === "worker" ? workerGuidance : reviewerGuidance).pipe(Effect.mapError((error) => new ServiceUnavailable({ message: error.message }))),
63
- refreshQuota: hostQuota(host, now),
64
- stallMinutes: host.stallMinutes,
65
- ...(host.worker === undefined ? {} : { sharedEnvironment: host.worker.sharedEnvironment }),
66
- });
28
+ // Each quota source caches its observation, so a reload reuses the source for an unchanged quota setting.
29
+ const quotas = new Map();
30
+ function refreshQuota(applied) {
31
+ const known = quotas.get(applied.quota);
32
+ if (known !== undefined) {
33
+ return known;
34
+ }
35
+ const created = hostQuota(applied, now);
36
+ quotas.set(applied.quota, created);
37
+ return created;
38
+ }
39
+ function configuration({ guidance, host: applied }) {
40
+ return {
41
+ areaMergeWaitMs: applied.areaMergeWaitMs,
42
+ deliveryBacklog: applied.backlog,
43
+ executionConcurrency: applied.concurrency,
44
+ launch: applied.launch,
45
+ ...(localPath === undefined ? {} : { localOnlyBoardPath: localPath }),
46
+ now,
47
+ ...(applied.openPullRequests === undefined ? {} : { openPullRequests: applied.openPullRequests }),
48
+ operationId: () => crypto.randomUUID(),
49
+ quota: { expiresAt: 0, observedAt: 0 },
50
+ readGuidance: (role) => guidance[role].pipe(Effect.mapError((error) => new ServiceUnavailable({ message: error.message }))),
51
+ refreshQuota: refreshQuota(applied),
52
+ stallMinutes: applied.stallMinutes,
53
+ ...(applied.worker === undefined ? {} : { sharedEnvironment: applied.worker.sharedEnvironment }),
54
+ };
55
+ }
56
+ return FleetPolicy.of({ ...configuration(yield* live.current), current: Effect.map(live.current, configuration) });
67
57
  }));
68
58
  }
69
59
  export function hostSql(host) {
@@ -81,11 +71,12 @@ export function hostSql(host) {
81
71
  }
82
72
  }))));
83
73
  }
84
- export function fleetHostLayer(host, parts) {
74
+ export function fleetHostLayer(host, parts, config = staticConfig(host)) {
85
75
  const repository = postgresFleetRepository(host.namespace);
86
76
  const sessions = SessionService.layer.pipe(Layer.provideMerge([fleetSessionJournal.pipe(Layer.provide(repository)), providerHealth.pipe(Layer.provide(parts.provider))]));
77
+ const github = parts.github ?? githubApiLayer.pipe(Layer.provide(NodeServices.layer));
87
78
  const board = (parts.board ?? hostReportBoard(host)).pipe(Layer.provide(parts.main), Layer.provide(NodeServices.layer));
88
79
  const integrations = (parts.integrations ?? hostIntegrations(host)).pipe(Layer.provide(parts.main));
89
- return Fleet.layer.pipe(Layer.provideMerge(Layer.mergeAll(repository, sessions, board, parts.policy ?? hostPolicy(host).pipe(Layer.provide(parts.main)), integrations, parts.main)), Layer.provideMerge(hostSql(host)));
80
+ return Fleet.layer.pipe(Layer.provideMerge(Layer.mergeAll(repository, sessions, board, parts.policy ?? hostPolicy(host).pipe(Layer.provide([parts.main, config])), integrations, parts.main)), Layer.provideMerge(github), Layer.provideMerge(hostSql(host)));
90
81
  }
91
82
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/host/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/host/runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotStream.d.ts","sourceRoot":"","sources":["../../src/host/snapshotStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,KAAK,MAAM,GAAG,SAAS,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AAE7C,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,UAAQ,wVActH"}
1
+ {"version":3,"file":"snapshotStream.d.ts","sourceRoot":"","sources":["../../src/host/snapshotStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,KAAK,MAAM,GAAG,SAAS,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AAE7C,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,UAAQ,wVAkBtH"}
@@ -1,4 +1,5 @@
1
1
  import { Stream } from "effect";
2
+ import { ANSWER_RECORDED } from "#attention.ts";
2
3
  export function snapshotStream(snapshots, ids, continuous = false) {
3
4
  return Stream.suspend(() => {
4
5
  let selected = ids.length === 0 ? undefined : new Set(ids);
@@ -6,7 +7,9 @@ export function snapshotStream(snapshots, ids, continuous = false) {
6
7
  if (continuous && selected === undefined) {
7
8
  return states;
8
9
  }
9
- selected ??= new Set(states.filter((state) => !["completed", "needs-human", "released"].includes(state.stage)).map((state) => state.workId));
10
+ selected ??= new Set(states
11
+ .filter((state) => state.blocker === ANSWER_RECORDED || !["completed", "needs-human", "released"].includes(state.stage))
12
+ .map((state) => state.workId));
10
13
  const selection = selected;
11
14
  return states.filter((state) => selection.has(state.workId));
12
15
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotStream.js","sourceRoot":"","sources":["../../src/host/snapshotStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMhC,MAAM,UAAU,cAAc,CAAC,SAA4C,EAAE,GAAsB,EAAE,UAAU,GAAG,KAAK;IACtH,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC,IAAI,CACpB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrB,IAAI,UAAU,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAC;YACf,CAAC;YACD,QAAQ,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7I,MAAM,SAAS,GAAG,QAAQ,CAAC;YAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CACF,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"snapshotStream.js","sourceRoot":"","sources":["../../src/host/snapshotStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMhD,MAAM,UAAU,cAAc,CAAC,SAA4C,EAAE,GAAsB,EAAE,UAAU,GAAG,KAAK;IACtH,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC,IAAI,CACpB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrB,IAAI,UAAU,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAC;YACf,CAAC;YACD,QAAQ,KAAK,IAAI,GAAG,CACnB,MAAM;iBACJ,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,eAAe,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACvH,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAC9B,CAAC;YACF,MAAM,SAAS,GAAG,QAAQ,CAAC;YAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CACF,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Effect, Schema } from "effect";
2
2
  import type { FleetHost } from "#host/config.ts";
3
- import { type FleetViews } from "#model.ts";
4
- export declare function renderStatus(current: typeof FleetViews.Type): string;
3
+ import { renderStatus as render } from "#host/renderStatus.ts";
4
+ export declare function renderStatus(current: Parameters<typeof render>[0]): string;
5
5
  export declare const fleetStatus: (host: FleetHost, workId?: string | undefined) => Effect.Effect<{
6
6
  readonly active: readonly {
7
7
  readonly attentionOwner?: "automation" | "maintainer" | "orchestrator" | undefined;
@@ -18,6 +18,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
18
18
  readonly context: string;
19
19
  readonly deliverable?: "report" | undefined;
20
20
  readonly dependsOn: readonly string[];
21
+ readonly priority?: "high" | "normal" | "urgent" | undefined;
21
22
  readonly revision: string;
22
23
  readonly sourcePath: string;
23
24
  readonly status?: string | undefined;
@@ -49,6 +50,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
49
50
  } | {
50
51
  readonly evidence: readonly string[];
51
52
  } | undefined;
53
+ readonly overLimit?: boolean | undefined;
52
54
  readonly sessions: readonly {
53
55
  readonly sessionId: string;
54
56
  readonly turnId: string;
@@ -81,6 +83,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
81
83
  readonly context: string;
82
84
  readonly deliverable?: "report" | undefined;
83
85
  readonly dependsOn: readonly string[];
86
+ readonly priority?: "high" | "normal" | "urgent" | undefined;
84
87
  readonly revision: string;
85
88
  readonly sourcePath: string;
86
89
  readonly status?: string | undefined;
@@ -112,6 +115,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
112
115
  } | {
113
116
  readonly evidence: readonly string[];
114
117
  } | undefined;
118
+ readonly overLimit?: boolean | undefined;
115
119
  readonly sessions: readonly {
116
120
  readonly sessionId: string;
117
121
  readonly turnId: string;
@@ -129,6 +133,16 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
129
133
  readonly stage: "adopting" | "completed" | "delivering" | "executing" | "needs-human" | "prepared" | "released" | "repairing" | "reviewing" | "validating";
130
134
  readonly workId: string;
131
135
  }[];
136
+ readonly dispatches?: readonly {
137
+ readonly acceptedAt: number;
138
+ readonly completedAt?: number | undefined;
139
+ readonly error?: string | undefined;
140
+ readonly id: string;
141
+ readonly ignoreAreas?: boolean | undefined;
142
+ readonly now?: boolean | undefined;
143
+ readonly status: "completed" | "failed" | "pending";
144
+ readonly workId: string;
145
+ }[] | undefined;
132
146
  readonly waiting: {
133
147
  readonly automation: readonly {
134
148
  readonly attentionOwner?: "automation" | "maintainer" | "orchestrator" | undefined;
@@ -145,6 +159,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
145
159
  readonly context: string;
146
160
  readonly deliverable?: "report" | undefined;
147
161
  readonly dependsOn: readonly string[];
162
+ readonly priority?: "high" | "normal" | "urgent" | undefined;
148
163
  readonly revision: string;
149
164
  readonly sourcePath: string;
150
165
  readonly status?: string | undefined;
@@ -176,6 +191,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
176
191
  } | {
177
192
  readonly evidence: readonly string[];
178
193
  } | undefined;
194
+ readonly overLimit?: boolean | undefined;
179
195
  readonly sessions: readonly {
180
196
  readonly sessionId: string;
181
197
  readonly turnId: string;
@@ -208,6 +224,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
208
224
  readonly context: string;
209
225
  readonly deliverable?: "report" | undefined;
210
226
  readonly dependsOn: readonly string[];
227
+ readonly priority?: "high" | "normal" | "urgent" | undefined;
211
228
  readonly revision: string;
212
229
  readonly sourcePath: string;
213
230
  readonly status?: string | undefined;
@@ -239,6 +256,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
239
256
  } | {
240
257
  readonly evidence: readonly string[];
241
258
  } | undefined;
259
+ readonly overLimit?: boolean | undefined;
242
260
  readonly sessions: readonly {
243
261
  readonly sessionId: string;
244
262
  readonly turnId: string;
@@ -271,6 +289,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
271
289
  readonly context: string;
272
290
  readonly deliverable?: "report" | undefined;
273
291
  readonly dependsOn: readonly string[];
292
+ readonly priority?: "high" | "normal" | "urgent" | undefined;
274
293
  readonly revision: string;
275
294
  readonly sourcePath: string;
276
295
  readonly status?: string | undefined;
@@ -302,6 +321,7 @@ export declare const fleetStatus: (host: FleetHost, workId?: string | undefined)
302
321
  } | {
303
322
  readonly evidence: readonly string[];
304
323
  } | undefined;
324
+ readonly overLimit?: boolean | undefined;
305
325
  readonly sessions: readonly {
306
326
  readonly sessionId: string;
307
327
  readonly turnId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/host/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAGzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,UAAU,CAAC,IAAI,UAE3D;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGAItB,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/host/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQ/D,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,UAEjE;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGAgBtB,CAAC"}
@@ -1,14 +1,28 @@
1
1
  import { Effect, Schema } from "effect";
2
+ import { makeRepository } from "@shivaedev/effect-sql/repository.ts";
2
3
  import { views } from "#engine/views.ts";
3
- import { recordPayloads } from "#host/recordPayloads.ts";
4
+ import { renderStatus as render } from "#host/renderStatus.ts";
4
5
  import { FleetRecord } from "#model.ts";
5
- import { renderStatus as render } from "./renderStatus.js";
6
+ import { dispatchStore } from "#storage/dispatchStore.ts";
7
+ import { recordModel } from "#storage/model.ts";
8
+ import { readRecords } from "#storage/readRecords.ts";
9
+ import { recordShape } from "#storage/recordShape.ts";
10
+ import { recordValues } from "#storage/recordValue.ts";
6
11
  export function renderStatus(current) {
7
12
  return render(current);
8
13
  }
9
14
  export const fleetStatus = Effect.fn("FleetHost.fleetStatus")(function* (host, workId) {
10
- const payloads = yield* recordPayloads(host.namespace, workId);
11
- const records = yield* Effect.forEach(payloads, (payload) => Schema.decodeUnknownEffect(Schema.fromJsonString(FleetRecord))(payload));
12
- return views(records);
15
+ const repository = yield* makeRepository(recordModel(), {
16
+ idColumn: "work_id",
17
+ spanPrefix: "FleetReader",
18
+ tableName: `${host.namespace}_records`,
19
+ });
20
+ const records = yield* readRecords(host.namespace, Effect.gen(function* () {
21
+ const rows = yield* repository.findMany({ orderBy: { direction: "asc", field: "work_id" }, where: { "work_id": workId } });
22
+ return yield* Schema.decodeUnknownEffect(Schema.Array(FleetRecord))(yield* recordValues(rows, recordShape(), host.namespace));
23
+ }));
24
+ const requests = yield* (yield* dispatchStore(host.namespace)).list(workId);
25
+ const dispatches = requests.filter((request) => request.status !== "completed");
26
+ return dispatches.length === 0 ? views(records) : { ...views(records), dispatches };
13
27
  });
14
28
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/host/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAmB,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,UAAU,YAAY,CAAC,OAA+B;IAC3D,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAe,EAAE,MAAe;IACxG,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACtI,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/host/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,UAAU,YAAY,CAAC,OAAqC;IACjE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAe,EAAE,MAAe;IACxG,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;QACvD,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,aAAa;QACzB,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,UAAU;KACtC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CACjC,IAAI,CAAC,SAAS,EACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3H,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/H,CAAC,CAAC,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAChF,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;AACrF,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- import { FileSystem, Layer } from "effect";
1
+ import { Effect, FileSystem, Layer } from "effect";
2
2
  import { HealthPublication, HealthSnapshot } from "#engine/health.ts";
3
- export declare function statusLayer(root: string, healthConfig?: {
3
+ export declare function statusLayer(root: string, healthConfig?: Effect.Effect<{
4
4
  readonly concurrency: number;
5
5
  readonly staleAfterMs: number;
6
- }): Layer.Layer<"@shivaedev/work-fleet/Fleet" | HealthPublication | HealthSnapshot, import("effect/PlatformError").PlatformError, "@shivaedev/work-fleet/Fleet" | FileSystem.FileSystem>;
6
+ }>): Layer.Layer<"@shivaedev/work-fleet/Fleet" | HealthPublication | HealthSnapshot, import("effect/PlatformError").PlatformError, "@shivaedev/work-fleet/Fleet" | FileSystem.FileSystem>;
7
7
  //# sourceMappingURL=statusLayer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statusLayer.d.ts","sourceRoot":"","sources":["../../src/host/statusLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,UAAU,EAAE,KAAK,EAA+B,MAAM,QAAQ,CAAC;AAOzG,OAAO,EAAU,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAS9E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,wLAuEvH"}
1
+ {"version":3,"file":"statusLayer.d.ts","sourceRoot":"","sources":["../../src/host/statusLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,EAAE,UAAU,EAAE,KAAK,EAA+B,MAAM,QAAQ,CAAC;AAOzG,OAAO,EAAU,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAY9E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,wLAoFtI"}