@shivaedev/work-fleet 0.2.0 → 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.
- package/CHANGELOG.md +47 -0
- package/README.md +60 -18
- package/dist/DispatchRequest.d.ts +13 -0
- package/dist/DispatchRequest.d.ts.map +1 -0
- package/dist/DispatchRequest.js +12 -0
- package/dist/DispatchRequest.js.map +1 -0
- package/dist/admit.d.ts +11 -0
- package/dist/admit.d.ts.map +1 -1
- package/dist/attention.d.ts +1 -0
- package/dist/attention.d.ts.map +1 -1
- package/dist/attention.js +4 -0
- package/dist/attention.js.map +1 -1
- package/dist/board/fleetField.d.ts +1 -0
- package/dist/board/fleetField.d.ts.map +1 -1
- package/dist/board/fleetField.js +4 -0
- package/dist/board/fleetField.js.map +1 -1
- package/dist/board/markdown.d.ts.map +1 -1
- package/dist/board/markdown.js +7 -2
- package/dist/board/markdown.js.map +1 -1
- package/dist/board/publish.d.ts +2 -0
- package/dist/board/publish.d.ts.map +1 -1
- package/dist/board/publishReport.d.ts +1 -0
- package/dist/board/publishReport.d.ts.map +1 -1
- package/dist/board/readPass.d.ts +1 -0
- package/dist/board/readPass.d.ts.map +1 -1
- package/dist/cli.js +13 -6
- package/dist/cli.js.map +1 -1
- package/dist/engine/abandonStalled.d.ts +1171 -1004
- package/dist/engine/abandonStalled.d.ts.map +1 -1
- package/dist/engine/admissionOrder.d.ts +1091 -0
- package/dist/engine/admissionOrder.d.ts.map +1 -0
- package/dist/engine/admissionOrder.js +15 -0
- package/dist/engine/admissionOrder.js.map +1 -0
- package/dist/engine/applyResolution.d.ts +20 -0
- package/dist/engine/applyResolution.d.ts.map +1 -1
- package/dist/engine/approveBrief.d.ts +31 -0
- package/dist/engine/approveBrief.d.ts.map +1 -1
- package/dist/engine/authorizeResolution.d.ts +1160 -1003
- package/dist/engine/authorizeResolution.d.ts.map +1 -1
- package/dist/engine/boardBrief.d.ts +32 -0
- package/dist/engine/boardBrief.d.ts.map +1 -1
- package/dist/engine/capacityRetry.d.ts +3488 -3007
- package/dist/engine/capacityRetry.d.ts.map +1 -1
- package/dist/engine/closeDecisions.d.ts +20 -0
- package/dist/engine/closeDecisions.d.ts.map +1 -1
- package/dist/engine/completeBoardWork.d.ts +20 -0
- package/dist/engine/completeBoardWork.d.ts.map +1 -1
- package/dist/engine/completeReport.d.ts +21 -0
- package/dist/engine/completeReport.d.ts.map +1 -1
- package/dist/engine/continueCommand.d.ts +10 -0
- package/dist/engine/continueCommand.d.ts.map +1 -1
- package/dist/engine/continueWorker.d.ts +20 -0
- package/dist/engine/continueWorker.d.ts.map +1 -1
- package/dist/engine/deliverPendingAnswers.d.ts +1085 -898
- package/dist/engine/deliverPendingAnswers.d.ts.map +1 -1
- package/dist/engine/dispatchCommand.d.ts +14 -1
- package/dist/engine/dispatchCommand.d.ts.map +1 -1
- package/dist/engine/dispatchCommand.js +25 -5
- package/dist/engine/dispatchCommand.js.map +1 -1
- package/dist/engine/ensureDecisionOwner.d.ts +20 -0
- package/dist/engine/ensureDecisionOwner.d.ts.map +1 -1
- package/dist/engine/ensurePublication.d.ts +20 -0
- package/dist/engine/ensurePublication.d.ts.map +1 -1
- package/dist/engine/failureContext.d.ts +1 -0
- package/dist/engine/failureContext.d.ts.map +1 -1
- package/dist/engine/failureContext.js.map +1 -1
- package/dist/engine/failureMessage.js +11 -1
- package/dist/engine/failureMessage.js.map +1 -1
- package/dist/engine/health.d.ts +10 -0
- package/dist/engine/health.d.ts.map +1 -1
- package/dist/engine/inspectRenewal.d.ts +21 -0
- package/dist/engine/inspectRenewal.d.ts.map +1 -1
- package/dist/engine/launchInput.d.ts +10 -0
- package/dist/engine/launchInput.d.ts.map +1 -1
- package/dist/engine/launchReceipt.d.ts +10 -0
- package/dist/engine/launchReceipt.d.ts.map +1 -1
- package/dist/engine/localOnlyCriteria.d.ts +1 -0
- package/dist/engine/localOnlyCriteria.d.ts.map +1 -1
- package/dist/engine/localOnlyCriteria.js +5 -1
- package/dist/engine/localOnlyCriteria.js.map +1 -1
- package/dist/engine/makeAdopt.d.ts +21 -0
- package/dist/engine/makeAdopt.d.ts.map +1 -1
- package/dist/engine/makeAdvance.d.ts +10 -0
- package/dist/engine/makeAdvance.d.ts.map +1 -1
- package/dist/engine/makeDeliver.d.ts +20 -0
- package/dist/engine/makeDeliver.d.ts.map +1 -1
- package/dist/engine/makeHuman.d.ts +20 -0
- package/dist/engine/makeHuman.d.ts.map +1 -1
- package/dist/engine/makeLaunch.d.ts +20 -0
- package/dist/engine/makeLaunch.d.ts.map +1 -1
- package/dist/engine/makeLaunch.js +4 -13
- package/dist/engine/makeLaunch.js.map +1 -1
- package/dist/engine/makeObserve.d.ts +20 -0
- package/dist/engine/makeObserve.d.ts.map +1 -1
- package/dist/engine/makeReview.d.ts +21 -0
- package/dist/engine/makeReview.d.ts.map +1 -1
- package/dist/engine/makeState.d.ts +1164 -1010
- package/dist/engine/makeState.d.ts.map +1 -1
- package/dist/engine/makeState.js +19 -11
- package/dist/engine/makeState.js.map +1 -1
- package/dist/engine/makeValidate.d.ts +21 -0
- package/dist/engine/makeValidate.d.ts.map +1 -1
- package/dist/engine/mergeReadiness.d.ts +1425 -1764
- package/dist/engine/mergeReadiness.d.ts.map +1 -1
- package/dist/engine/mergeReadiness.js +3 -4
- package/dist/engine/mergeReadiness.js.map +1 -1
- package/dist/engine/observeDeliveryFailure.d.ts +1170 -1003
- package/dist/engine/observeDeliveryFailure.d.ts.map +1 -1
- package/dist/engine/observeRenewal.d.ts +33 -0
- package/dist/engine/observeRenewal.d.ts.map +1 -1
- package/dist/engine/obtainReview.d.ts +11 -0
- package/dist/engine/obtainReview.d.ts.map +1 -1
- package/dist/engine/obtainReview.js +2 -1
- package/dist/engine/obtainReview.js.map +1 -1
- package/dist/engine/operationRecord.d.ts +1898 -1779
- package/dist/engine/operationRecord.d.ts.map +1 -1
- package/dist/engine/persistTerminalReceipts.d.ts +20 -0
- package/dist/engine/persistTerminalReceipts.d.ts.map +1 -1
- package/dist/engine/prepareCommand.d.ts +10 -0
- package/dist/engine/prepareCommand.d.ts.map +1 -1
- package/dist/engine/prepareCommand.js +1 -1
- package/dist/engine/prepareCommand.js.map +1 -1
- package/dist/engine/queueAnswerCommand.d.ts +10 -0
- package/dist/engine/queueAnswerCommand.d.ts.map +1 -1
- package/dist/engine/readOrContinueReview.d.ts +11 -0
- package/dist/engine/readOrContinueReview.d.ts.map +1 -1
- package/dist/engine/readOrContinueReview.js +2 -1
- package/dist/engine/readOrContinueReview.js.map +1 -1
- package/dist/engine/readResolution.d.ts +1 -0
- package/dist/engine/readResolution.d.ts.map +1 -1
- package/dist/engine/readRetry.d.ts +2344 -2010
- package/dist/engine/readRetry.d.ts.map +1 -1
- package/dist/engine/readRetry.js +20 -1
- package/dist/engine/readRetry.js.map +1 -1
- package/dist/engine/reassignCommand.d.ts +10 -0
- package/dist/engine/reassignCommand.d.ts.map +1 -1
- package/dist/engine/reconcileAttempt.d.ts +12 -1
- package/dist/engine/reconcileAttempt.d.ts.map +1 -1
- package/dist/engine/reconcileAttempt.js +2 -1
- package/dist/engine/reconcileAttempt.js.map +1 -1
- package/dist/engine/reconcileCommand.d.ts +10 -0
- package/dist/engine/reconcileCommand.d.ts.map +1 -1
- package/dist/engine/recordResponseCommand.d.ts +551 -0
- package/dist/engine/recordResponseCommand.d.ts.map +1 -0
- package/dist/engine/recordResponseCommand.js +30 -0
- package/dist/engine/recordResponseCommand.js.map +1 -0
- package/dist/engine/recoverStall.d.ts +1172 -1004
- package/dist/engine/recoverStall.d.ts.map +1 -1
- package/dist/engine/recoverStall.js +1 -1
- package/dist/engine/recoverStall.js.map +1 -1
- package/dist/engine/recoverUnobservable.d.ts +1172 -1004
- package/dist/engine/recoverUnobservable.d.ts.map +1 -1
- package/dist/engine/refreshBrief.d.ts +2344 -2009
- package/dist/engine/refreshBrief.d.ts.map +1 -1
- package/dist/engine/refreshReviewResult.d.ts +21 -0
- package/dist/engine/refreshReviewResult.d.ts.map +1 -1
- package/dist/engine/releaseClosedPreparation.d.ts +1171 -1003
- package/dist/engine/releaseClosedPreparation.d.ts.map +1 -1
- package/dist/engine/releaseExecution.d.ts +1170 -1003
- package/dist/engine/releaseExecution.d.ts.map +1 -1
- package/dist/engine/releaseFinishedWork.d.ts +10 -0
- package/dist/engine/releaseFinishedWork.d.ts.map +1 -1
- package/dist/engine/repository.d.ts +1115 -1003
- package/dist/engine/repository.d.ts.map +1 -1
- package/dist/engine/repository.js +12 -12
- package/dist/engine/repository.js.map +1 -1
- package/dist/engine/requestConflictRepair.d.ts +1170 -1003
- package/dist/engine/requestConflictRepair.d.ts.map +1 -1
- package/dist/engine/requestRework.d.ts +20 -0
- package/dist/engine/requestRework.d.ts.map +1 -1
- package/dist/engine/resolveCommand.d.ts +10 -0
- package/dist/engine/resolveCommand.d.ts.map +1 -1
- package/dist/engine/resolveExecution.d.ts +1170 -1003
- package/dist/engine/resolveExecution.d.ts.map +1 -1
- package/dist/engine/resumeAttempt.d.ts +1171 -1003
- package/dist/engine/resumeAttempt.d.ts.map +1 -1
- package/dist/engine/retireUnacknowledged.d.ts +20 -0
- package/dist/engine/retireUnacknowledged.d.ts.map +1 -1
- package/dist/engine/retryTerminal.d.ts +1160 -1003
- package/dist/engine/retryTerminal.d.ts.map +1 -1
- package/dist/engine/saveLaunch.d.ts +10598 -0
- package/dist/engine/saveLaunch.d.ts.map +1 -0
- package/dist/engine/saveLaunch.js +30 -0
- package/dist/engine/saveLaunch.js.map +1 -0
- package/dist/engine/scheduler.d.ts +21 -1
- package/dist/engine/scheduler.d.ts.map +1 -1
- package/dist/engine/scheduler.js +3 -5
- package/dist/engine/scheduler.js.map +1 -1
- package/dist/engine/sessionCleanup.d.ts +20 -0
- package/dist/engine/sessionCleanup.d.ts.map +1 -1
- package/dist/engine/settleMergedDelivery.d.ts +1170 -1003
- package/dist/engine/settleMergedDelivery.d.ts.map +1 -1
- package/dist/engine/steerBrief.d.ts +1075 -898
- package/dist/engine/steerBrief.d.ts.map +1 -1
- package/dist/engine/submissionFailure.d.ts +1150 -1003
- package/dist/engine/submissionFailure.d.ts.map +1 -1
- package/dist/engine/submitLaunch.d.ts +1160 -1003
- package/dist/engine/submitLaunch.d.ts.map +1 -1
- package/dist/engine/views.d.ts.map +1 -1
- package/dist/engine/views.js +4 -0
- package/dist/engine/views.js.map +1 -1
- package/dist/engine/workerReport.d.ts +30 -0
- package/dist/engine/workerReport.d.ts.map +1 -1
- package/dist/fleet.d.ts +2716 -983
- package/dist/fleet.d.ts.map +1 -1
- package/dist/fleet.js +4 -0
- package/dist/fleet.js.map +1 -1
- package/dist/host/actionCommands.d.ts.map +1 -1
- package/dist/host/actionCommands.js +7 -6
- package/dist/host/actionCommands.js.map +1 -1
- package/dist/host/admission.d.ts +24 -1
- package/dist/host/admission.d.ts.map +1 -1
- package/dist/host/admission.js +2 -2
- package/dist/host/admission.js.map +1 -1
- package/dist/host/answerWork.d.ts +12 -2
- package/dist/host/answerWork.d.ts.map +1 -1
- package/dist/host/answerWork.js +19 -23
- package/dist/host/answerWork.js.map +1 -1
- package/dist/host/commands.d.ts +28 -4
- package/dist/host/commands.d.ts.map +1 -1
- package/dist/host/commands.js +19 -5
- package/dist/host/commands.js.map +1 -1
- package/dist/host/config.d.ts +77 -1
- package/dist/host/config.d.ts.map +1 -1
- package/dist/host/config.js +37 -9
- package/dist/host/config.js.map +1 -1
- package/dist/host/configSettings.d.ts +486 -0
- package/dist/host/configSettings.d.ts.map +1 -0
- package/dist/host/configSettings.js +113 -0
- package/dist/host/configSettings.js.map +1 -0
- package/dist/host/daemon.d.ts +302 -607
- package/dist/host/daemon.d.ts.map +1 -1
- package/dist/host/daemon.js +2 -1
- package/dist/host/daemon.js.map +1 -1
- package/dist/host/daemonClient.d.ts +300 -605
- package/dist/host/daemonClient.d.ts.map +1 -1
- package/dist/host/daemonClient.js +28 -7
- package/dist/host/daemonClient.js.map +1 -1
- package/dist/host/daemonContract.d.ts +882 -1987
- package/dist/host/daemonContract.d.ts.map +1 -1
- package/dist/host/daemonContract.js +12 -4
- package/dist/host/daemonContract.js.map +1 -1
- package/dist/host/daemonDiagnostics.d.ts.map +1 -1
- package/dist/host/daemonDiagnostics.js +9 -3
- package/dist/host/daemonDiagnostics.js.map +1 -1
- package/dist/host/daemonHandlers.d.ts +2 -1
- package/dist/host/daemonHandlers.d.ts.map +1 -1
- package/dist/host/daemonHandlers.js +20 -7
- package/dist/host/daemonHandlers.js.map +1 -1
- package/dist/host/daemonSnapshots.d.ts.map +1 -1
- package/dist/host/daemonSnapshots.js +21 -1
- package/dist/host/daemonSnapshots.js.map +1 -1
- package/dist/host/dispatchRequests.d.ts +30 -0
- package/dist/host/dispatchRequests.d.ts.map +1 -0
- package/dist/host/dispatchRequests.js +40 -0
- package/dist/host/dispatchRequests.js.map +1 -0
- package/dist/host/follow.js +1 -1
- package/dist/host/follow.js.map +1 -1
- package/dist/host/followState.d.ts.map +1 -1
- package/dist/host/followState.js +5 -4
- package/dist/host/followState.js.map +1 -1
- package/dist/host/github.d.ts +5 -6
- package/dist/host/github.d.ts.map +1 -1
- package/dist/host/github.js +3 -4
- package/dist/host/github.js.map +1 -1
- package/dist/host/githubApi.d.ts +15 -0
- package/dist/host/githubApi.d.ts.map +1 -0
- package/dist/host/githubApi.js +117 -0
- package/dist/host/githubApi.js.map +1 -0
- package/dist/host/githubChecks.d.ts +13 -3
- package/dist/host/githubChecks.d.ts.map +1 -1
- package/dist/host/githubChecks.js +5 -5
- package/dist/host/githubChecks.js.map +1 -1
- package/dist/host/githubDelivery.d.ts +13 -1
- package/dist/host/githubDelivery.d.ts.map +1 -1
- package/dist/host/githubDelivery.js +39 -6
- package/dist/host/githubDelivery.js.map +1 -1
- package/dist/host/githubRateLimit.d.ts +23 -0
- package/dist/host/githubRateLimit.d.ts.map +1 -0
- package/dist/host/githubRateLimit.js +70 -0
- package/dist/host/githubRateLimit.js.map +1 -0
- package/dist/host/githubRequiredChecks.d.ts +1 -2
- package/dist/host/githubRequiredChecks.d.ts.map +1 -1
- package/dist/host/githubRequiredChecks.js +2 -2
- package/dist/host/githubRequiredChecks.js.map +1 -1
- package/dist/host/githubResponse.d.ts +10 -0
- package/dist/host/githubResponse.d.ts.map +1 -0
- package/dist/host/githubResponse.js +29 -0
- package/dist/host/githubResponse.js.map +1 -0
- package/dist/host/githubResult.d.ts +3 -2
- package/dist/host/githubResult.d.ts.map +1 -1
- package/dist/host/githubResult.js +9 -12
- package/dist/host/githubResult.js.map +1 -1
- package/dist/host/githubTransport.d.ts +13 -0
- package/dist/host/githubTransport.d.ts.map +1 -0
- package/dist/host/{githubRead.js → githubTransport.js} +9 -10
- package/dist/host/githubTransport.js.map +1 -0
- package/dist/host/integrations.d.ts +6 -0
- package/dist/host/integrations.d.ts.map +1 -0
- package/dist/host/integrations.js +34 -0
- package/dist/host/integrations.js.map +1 -0
- package/dist/host/liveConfig.d.ts +21 -0
- package/dist/host/liveConfig.d.ts.map +1 -0
- package/dist/host/liveConfig.js +74 -0
- package/dist/host/liveConfig.js.map +1 -0
- package/dist/host/providers.d.ts.map +1 -1
- package/dist/host/providers.js +2 -2
- package/dist/host/providers.js.map +1 -1
- package/dist/host/readWaitStates.d.ts.map +1 -1
- package/dist/host/readWaitStates.js +8 -18
- package/dist/host/readWaitStates.js.map +1 -1
- package/dist/host/reassignWork.d.ts +10 -0
- package/dist/host/reassignWork.d.ts.map +1 -1
- package/dist/host/recordDecisionResponse.d.ts +1 -0
- package/dist/host/recordDecisionResponse.d.ts.map +1 -1
- package/dist/host/releaseWork.d.ts +24 -3
- package/dist/host/releaseWork.d.ts.map +1 -1
- package/dist/host/releaseWork.js +11 -7
- package/dist/host/releaseWork.js.map +1 -1
- package/dist/host/renderStatus.d.ts +2 -2
- package/dist/host/renderStatus.d.ts.map +1 -1
- package/dist/host/renderStatus.js +8 -2
- package/dist/host/renderStatus.js.map +1 -1
- package/dist/host/reportBoard.d.ts +1 -1
- package/dist/host/reportBoard.d.ts.map +1 -1
- package/dist/host/reportBoard.js +6 -3
- package/dist/host/reportBoard.js.map +1 -1
- package/dist/host/reportPublication.d.ts +2 -1
- package/dist/host/reportPublication.d.ts.map +1 -1
- package/dist/host/reportPublication.js +5 -2
- package/dist/host/reportPublication.js.map +1 -1
- package/dist/host/runtime.d.ts +8 -6
- package/dist/host/runtime.d.ts.map +1 -1
- package/dist/host/runtime.js +37 -46
- package/dist/host/runtime.js.map +1 -1
- package/dist/host/snapshotStream.d.ts.map +1 -1
- package/dist/host/snapshotStream.js +4 -1
- package/dist/host/snapshotStream.js.map +1 -1
- package/dist/host/status.d.ts +22 -2
- package/dist/host/status.d.ts.map +1 -1
- package/dist/host/status.js +19 -5
- package/dist/host/status.js.map +1 -1
- package/dist/host/statusLayer.d.ts +3 -3
- package/dist/host/statusLayer.d.ts.map +1 -1
- package/dist/host/statusLayer.js +13 -3
- package/dist/host/statusLayer.js.map +1 -1
- package/dist/host/waitOutcome.d.ts.map +1 -1
- package/dist/host/waitOutcome.js +5 -2
- package/dist/host/waitOutcome.js.map +1 -1
- package/dist/model.d.ts +39 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +5 -0
- package/dist/model.js.map +1 -1
- package/dist/operations.d.ts +270 -0
- package/dist/operations.d.ts.map +1 -1
- package/dist/packageInfo.d.ts +1 -1
- package/dist/packageInfo.js +1 -1
- package/dist/policy.d.ts +7 -0
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +2 -0
- package/dist/policy.js.map +1 -1
- package/dist/providers/codexCloud.d.ts +2 -0
- package/dist/providers/codexCloud.d.ts.map +1 -1
- package/dist/providers/codexCloud.js +2 -1
- package/dist/providers/codexCloud.js.map +1 -1
- package/dist/qualifyDependencies.d.ts +10 -0
- package/dist/qualifyDependencies.d.ts.map +1 -1
- package/dist/scheduling/admission.d.ts +1635 -0
- package/dist/scheduling/admission.d.ts.map +1 -0
- package/dist/scheduling/admission.js +11 -0
- package/dist/scheduling/admission.js.map +1 -0
- package/dist/scheduling/areas.d.ts +30 -0
- package/dist/scheduling/areas.d.ts.map +1 -1
- package/dist/scheduling/backPressure.d.ts +1637 -0
- package/dist/scheduling/backPressure.d.ts.map +1 -0
- package/dist/scheduling/backPressure.js +44 -0
- package/dist/scheduling/backPressure.js.map +1 -0
- package/dist/storage/FleetStoreOptions.d.ts +2 -2
- package/dist/storage/FleetStoreOptions.d.ts.map +1 -1
- package/dist/storage/addShapeColumns.d.ts +5 -0
- package/dist/storage/addShapeColumns.d.ts.map +1 -0
- package/dist/storage/addShapeColumns.js +24 -0
- package/dist/storage/addShapeColumns.js.map +1 -0
- package/dist/storage/dispatchStore.d.ts +47 -0
- package/dist/storage/dispatchStore.d.ts.map +1 -0
- package/dist/storage/dispatchStore.js +89 -0
- package/dist/storage/dispatchStore.js.map +1 -0
- package/dist/storage/errors.d.ts +2 -1
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +2 -1
- package/dist/storage/errors.js.map +1 -1
- package/dist/storage/fleetMigrations.d.ts +1 -1
- package/dist/storage/fleetMigrations.d.ts.map +1 -1
- package/dist/storage/fleetMigrations.js +24 -17
- package/dist/storage/fleetMigrations.js.map +1 -1
- package/dist/storage/listedRecords.d.ts +9 -0
- package/dist/storage/listedRecords.d.ts.map +1 -0
- package/dist/storage/listedRecords.js +40 -0
- package/dist/storage/listedRecords.js.map +1 -0
- package/dist/storage/makePostgresFleetStore.d.ts +2 -6
- package/dist/storage/makePostgresFleetStore.d.ts.map +1 -1
- package/dist/storage/makePostgresFleetStore.js +4 -10
- package/dist/storage/makePostgresFleetStore.js.map +1 -1
- package/dist/storage/model.d.ts +9 -0
- package/dist/storage/model.d.ts.map +1 -1
- package/dist/storage/model.js.map +1 -1
- package/dist/storage/shapeV14.d.ts +808 -0
- package/dist/storage/shapeV14.d.ts.map +1 -0
- package/dist/storage/shapeV14.js +18 -0
- package/dist/storage/shapeV14.js.map +1 -0
- package/package.json +6 -6
- package/src/DispatchRequest.ts +13 -0
- package/src/attention.ts +5 -0
- package/src/board/fleetField.ts +5 -0
- package/src/board/markdown.ts +7 -2
- package/src/cli.ts +24 -10
- package/src/engine/admissionOrder.ts +25 -0
- package/src/engine/dispatchCommand.ts +29 -5
- package/src/engine/failureContext.ts +1 -0
- package/src/engine/failureMessage.ts +12 -1
- package/src/engine/localOnlyCriteria.ts +6 -1
- package/src/engine/makeLaunch.ts +4 -17
- package/src/engine/makeState.ts +30 -26
- package/src/engine/mergeReadiness.ts +6 -5
- package/src/engine/obtainReview.ts +2 -1
- package/src/engine/prepareCommand.ts +1 -1
- package/src/engine/readOrContinueReview.ts +2 -1
- package/src/engine/readRetry.ts +23 -1
- package/src/engine/reconcileAttempt.ts +2 -1
- package/src/engine/recordResponseCommand.ts +38 -0
- package/src/engine/recoverStall.ts +1 -1
- package/src/engine/repository.ts +17 -16
- package/src/engine/saveLaunch.ts +45 -0
- package/src/engine/scheduler.ts +4 -6
- package/src/engine/views.ts +5 -0
- package/src/fleet.ts +4 -0
- package/src/host/actionCommands.ts +22 -7
- package/src/host/admission.ts +3 -3
- package/src/host/answerWork.ts +28 -27
- package/src/host/commands.ts +29 -8
- package/src/host/config.ts +46 -9
- package/src/host/configSettings.ts +124 -0
- package/src/host/daemon.ts +2 -1
- package/src/host/daemonClient.ts +42 -7
- package/src/host/daemonContract.ts +12 -4
- package/src/host/daemonDiagnostics.ts +11 -3
- package/src/host/daemonHandlers.ts +24 -7
- package/src/host/daemonSnapshots.ts +24 -1
- package/src/host/dispatchRequests.ts +53 -0
- package/src/host/follow.ts +1 -1
- package/src/host/followState.ts +6 -6
- package/src/host/github.ts +8 -6
- package/src/host/githubApi.ts +142 -0
- package/src/host/githubChecks.ts +6 -5
- package/src/host/githubDelivery.ts +47 -10
- package/src/host/githubRateLimit.ts +91 -0
- package/src/host/githubRequiredChecks.ts +2 -2
- package/src/host/githubResponse.ts +37 -0
- package/src/host/githubResult.ts +15 -17
- package/src/host/githubTransport.ts +31 -0
- package/src/host/integrations.ts +40 -0
- package/src/host/liveConfig.ts +134 -0
- package/src/host/providers.ts +4 -2
- package/src/host/readWaitStates.ts +8 -20
- package/src/host/releaseWork.ts +12 -9
- package/src/host/renderStatus.ts +10 -3
- package/src/host/reportBoard.ts +6 -3
- package/src/host/reportPublication.ts +6 -4
- package/src/host/runtime.ts +48 -56
- package/src/host/snapshotStream.ts +6 -1
- package/src/host/status.ts +24 -7
- package/src/host/statusLayer.ts +21 -5
- package/src/host/waitOutcome.ts +5 -2
- package/src/model.ts +6 -0
- package/src/packageInfo.ts +1 -1
- package/src/policy.ts +7 -0
- package/src/providers/codexCloud.ts +2 -1
- package/src/scheduling/admission.ts +19 -0
- package/src/scheduling/backPressure.ts +55 -0
- package/src/storage/FleetStoreOptions.ts +7 -2
- package/src/storage/addShapeColumns.ts +24 -0
- package/src/storage/dispatchStore.ts +104 -0
- package/src/storage/errors.ts +2 -1
- package/src/storage/fleetMigrations.ts +24 -17
- package/src/storage/listedRecords.ts +53 -0
- package/src/storage/makePostgresFleetStore.ts +4 -10
- package/src/storage/model.ts +7 -0
- package/src/storage/shapeV14.ts +19 -0
- package/dist/host/githubRead.d.ts +0 -5
- package/dist/host/githubRead.d.ts.map +0 -1
- package/dist/host/githubRead.js.map +0 -1
- package/dist/host/recordPayloads.d.ts +0 -4
- package/dist/host/recordPayloads.d.ts.map +0 -1
- package/dist/host/recordPayloads.js +0 -21
- package/dist/host/recordPayloads.js.map +0 -1
- package/dist/storage/migrateFleet.d.ts +0 -3
- package/dist/storage/migrateFleet.d.ts.map +0 -1
- package/dist/storage/migrateFleet.js +0 -11
- package/dist/storage/migrateFleet.js.map +0 -1
- package/src/host/githubRead.ts +0 -20
- package/src/host/recordPayloads.ts +0 -24
- 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.
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/host/reportBoard.js
CHANGED
|
@@ -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
|
|
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((
|
|
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":"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,
|
|
1
|
+
{"version":3,"file":"reportBoard.js","sourceRoot":"","sources":["../../src/host/reportBoard.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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;
|
|
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((
|
|
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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;
|
|
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"}
|
package/dist/host/runtime.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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;
|
|
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"}
|
package/dist/host/runtime.js
CHANGED
|
@@ -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 {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
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 {
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
quota
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
package/dist/host/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/host/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,
|
|
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;
|
|
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
|
|
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;
|
|
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"}
|
package/dist/host/status.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Schema } from "effect";
|
|
2
2
|
import type { FleetHost } from "#host/config.ts";
|
|
3
|
-
import {
|
|
4
|
-
export declare function renderStatus(current: typeof
|
|
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;
|
|
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"}
|
package/dist/host/status.js
CHANGED
|
@@ -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 {
|
|
4
|
+
import { renderStatus as render } from "#host/renderStatus.ts";
|
|
4
5
|
import { FleetRecord } from "#model.ts";
|
|
5
|
-
import {
|
|
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
|
|
11
|
-
|
|
12
|
-
|
|
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
|
package/dist/host/status.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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"}
|