@herdctl/core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +4 -0
- package/.turbo/turbo-test.log +219 -0
- package/.turbo/turbo-typecheck.log +4 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/coverage-final.json +51 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +251 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +210 -0
- package/coverage/src/config/index.html +191 -0
- package/coverage/src/config/index.ts.html +442 -0
- package/coverage/src/config/interpolate.ts.html +652 -0
- package/coverage/src/config/loader.ts.html +1501 -0
- package/coverage/src/config/merge.ts.html +823 -0
- package/coverage/src/config/parser.ts.html +1213 -0
- package/coverage/src/config/schema.ts.html +1123 -0
- package/coverage/src/fleet-manager/errors.ts.html +2326 -0
- package/coverage/src/fleet-manager/event-types.ts.html +1219 -0
- package/coverage/src/fleet-manager/fleet-manager.ts.html +7030 -0
- package/coverage/src/fleet-manager/index.html +206 -0
- package/coverage/src/fleet-manager/index.ts.html +469 -0
- package/coverage/src/fleet-manager/job-manager.ts.html +2074 -0
- package/coverage/src/fleet-manager/job-queue.ts.html +2479 -0
- package/coverage/src/fleet-manager/types.ts.html +2602 -0
- package/coverage/src/index.html +116 -0
- package/coverage/src/index.ts.html +181 -0
- package/coverage/src/runner/errors.ts.html +1006 -0
- package/coverage/src/runner/index.html +191 -0
- package/coverage/src/runner/index.ts.html +256 -0
- package/coverage/src/runner/job-executor.ts.html +1429 -0
- package/coverage/src/runner/message-processor.ts.html +1150 -0
- package/coverage/src/runner/sdk-adapter.ts.html +658 -0
- package/coverage/src/runner/types.ts.html +559 -0
- package/coverage/src/scheduler/errors.ts.html +388 -0
- package/coverage/src/scheduler/index.html +206 -0
- package/coverage/src/scheduler/index.ts.html +244 -0
- package/coverage/src/scheduler/interval.ts.html +652 -0
- package/coverage/src/scheduler/schedule-runner.ts.html +1411 -0
- package/coverage/src/scheduler/schedule-state.ts.html +718 -0
- package/coverage/src/scheduler/scheduler.ts.html +1795 -0
- package/coverage/src/scheduler/types.ts.html +733 -0
- package/coverage/src/state/directory.ts.html +736 -0
- package/coverage/src/state/errors.ts.html +376 -0
- package/coverage/src/state/fleet-state.ts.html +937 -0
- package/coverage/src/state/index.html +221 -0
- package/coverage/src/state/index.ts.html +322 -0
- package/coverage/src/state/job-metadata.ts.html +1420 -0
- package/coverage/src/state/job-output.ts.html +1033 -0
- package/coverage/src/state/schemas/fleet-state.ts.html +445 -0
- package/coverage/src/state/schemas/index.html +176 -0
- package/coverage/src/state/schemas/index.ts.html +286 -0
- package/coverage/src/state/schemas/job-metadata.ts.html +628 -0
- package/coverage/src/state/schemas/job-output.ts.html +616 -0
- package/coverage/src/state/schemas/session-info.ts.html +361 -0
- package/coverage/src/state/session.ts.html +844 -0
- package/coverage/src/state/types.ts.html +262 -0
- package/coverage/src/state/utils/atomic.ts.html +748 -0
- package/coverage/src/state/utils/index.html +146 -0
- package/coverage/src/state/utils/index.ts.html +103 -0
- package/coverage/src/state/utils/reads.ts.html +1621 -0
- package/coverage/src/work-sources/adapters/github.ts.html +3583 -0
- package/coverage/src/work-sources/adapters/index.html +131 -0
- package/coverage/src/work-sources/adapters/index.ts.html +277 -0
- package/coverage/src/work-sources/errors.ts.html +298 -0
- package/coverage/src/work-sources/index.html +176 -0
- package/coverage/src/work-sources/index.ts.html +529 -0
- package/coverage/src/work-sources/manager.ts.html +1324 -0
- package/coverage/src/work-sources/registry.ts.html +619 -0
- package/coverage/src/work-sources/types.ts.html +568 -0
- package/dist/config/__tests__/agent.test.d.ts +2 -0
- package/dist/config/__tests__/agent.test.d.ts.map +1 -0
- package/dist/config/__tests__/agent.test.js +752 -0
- package/dist/config/__tests__/agent.test.js.map +1 -0
- package/dist/config/__tests__/interpolate.test.d.ts +2 -0
- package/dist/config/__tests__/interpolate.test.d.ts.map +1 -0
- package/dist/config/__tests__/interpolate.test.js +509 -0
- package/dist/config/__tests__/interpolate.test.js.map +1 -0
- package/dist/config/__tests__/loader.test.d.ts +2 -0
- package/dist/config/__tests__/loader.test.d.ts.map +1 -0
- package/dist/config/__tests__/loader.test.js +631 -0
- package/dist/config/__tests__/loader.test.js.map +1 -0
- package/dist/config/__tests__/merge.test.d.ts +2 -0
- package/dist/config/__tests__/merge.test.d.ts.map +1 -0
- package/dist/config/__tests__/merge.test.js +672 -0
- package/dist/config/__tests__/merge.test.js.map +1 -0
- package/dist/config/__tests__/parser.test.d.ts +2 -0
- package/dist/config/__tests__/parser.test.d.ts.map +1 -0
- package/dist/config/__tests__/parser.test.js +476 -0
- package/dist/config/__tests__/parser.test.js.map +1 -0
- package/dist/config/__tests__/schema.test.d.ts +2 -0
- package/dist/config/__tests__/schema.test.d.ts.map +1 -0
- package/dist/config/__tests__/schema.test.js +776 -0
- package/dist/config/__tests__/schema.test.js.map +1 -0
- package/dist/config/index.d.ts +11 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +26 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/interpolate.d.ts +76 -0
- package/dist/config/interpolate.d.ts.map +1 -0
- package/dist/config/interpolate.js +143 -0
- package/dist/config/interpolate.js.map +1 -0
- package/dist/config/loader.d.ts +147 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +336 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/merge.d.ts +84 -0
- package/dist/config/merge.d.ts.map +1 -0
- package/dist/config/merge.js +138 -0
- package/dist/config/merge.js.map +1 -0
- package/dist/config/parser.d.ts +143 -0
- package/dist/config/parser.d.ts.map +1 -0
- package/dist/config/parser.js +316 -0
- package/dist/config/parser.js.map +1 -0
- package/dist/config/schema.d.ts +1906 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +268 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/fleet-manager/__tests__/coverage.test.d.ts +13 -0
- package/dist/fleet-manager/__tests__/coverage.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/coverage.test.js +2282 -0
- package/dist/fleet-manager/__tests__/coverage.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/errors.test.d.ts +7 -0
- package/dist/fleet-manager/__tests__/errors.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/errors.test.js +557 -0
- package/dist/fleet-manager/__tests__/errors.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/event-helpers.test.d.ts +7 -0
- package/dist/fleet-manager/__tests__/event-helpers.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/event-helpers.test.js +368 -0
- package/dist/fleet-manager/__tests__/event-helpers.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/integration.test.d.ts +11 -0
- package/dist/fleet-manager/__tests__/integration.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/integration.test.js +949 -0
- package/dist/fleet-manager/__tests__/integration.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/job-control.test.d.ts +7 -0
- package/dist/fleet-manager/__tests__/job-control.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/job-control.test.js +215 -0
- package/dist/fleet-manager/__tests__/job-control.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/job-manager.test.d.ts +7 -0
- package/dist/fleet-manager/__tests__/job-manager.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/job-manager.test.js +659 -0
- package/dist/fleet-manager/__tests__/job-manager.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/job-queue.test.d.ts +5 -0
- package/dist/fleet-manager/__tests__/job-queue.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/job-queue.test.js +315 -0
- package/dist/fleet-manager/__tests__/job-queue.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/reload.test.d.ts +7 -0
- package/dist/fleet-manager/__tests__/reload.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/reload.test.js +609 -0
- package/dist/fleet-manager/__tests__/reload.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/status-queries.test.d.ts +7 -0
- package/dist/fleet-manager/__tests__/status-queries.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/status-queries.test.js +488 -0
- package/dist/fleet-manager/__tests__/status-queries.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/trigger.test.d.ts +7 -0
- package/dist/fleet-manager/__tests__/trigger.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/trigger.test.js +471 -0
- package/dist/fleet-manager/__tests__/trigger.test.js.map +1 -0
- package/dist/fleet-manager/errors.d.ts +407 -0
- package/dist/fleet-manager/errors.d.ts.map +1 -0
- package/dist/fleet-manager/errors.js +569 -0
- package/dist/fleet-manager/errors.js.map +1 -0
- package/dist/fleet-manager/event-types.d.ts +302 -0
- package/dist/fleet-manager/event-types.d.ts.map +1 -0
- package/dist/fleet-manager/event-types.js +9 -0
- package/dist/fleet-manager/event-types.js.map +1 -0
- package/dist/fleet-manager/fleet-manager.d.ts +699 -0
- package/dist/fleet-manager/fleet-manager.d.ts.map +1 -0
- package/dist/fleet-manager/fleet-manager.js +1906 -0
- package/dist/fleet-manager/fleet-manager.js.map +1 -0
- package/dist/fleet-manager/index.d.ts +17 -0
- package/dist/fleet-manager/index.d.ts.map +1 -0
- package/dist/fleet-manager/index.js +29 -0
- package/dist/fleet-manager/index.js.map +1 -0
- package/dist/fleet-manager/job-manager.d.ts +271 -0
- package/dist/fleet-manager/job-manager.d.ts.map +1 -0
- package/dist/fleet-manager/job-manager.js +443 -0
- package/dist/fleet-manager/job-manager.js.map +1 -0
- package/dist/fleet-manager/job-queue.d.ts +422 -0
- package/dist/fleet-manager/job-queue.d.ts.map +1 -0
- package/dist/fleet-manager/job-queue.js +448 -0
- package/dist/fleet-manager/job-queue.js.map +1 -0
- package/dist/fleet-manager/types.d.ts +680 -0
- package/dist/fleet-manager/types.d.ts.map +1 -0
- package/dist/fleet-manager/types.js +8 -0
- package/dist/fleet-manager/types.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/runner/__tests__/errors.test.d.ts +2 -0
- package/dist/runner/__tests__/errors.test.d.ts.map +1 -0
- package/dist/runner/__tests__/errors.test.js +264 -0
- package/dist/runner/__tests__/errors.test.js.map +1 -0
- package/dist/runner/__tests__/job-executor.test.d.ts +2 -0
- package/dist/runner/__tests__/job-executor.test.d.ts.map +1 -0
- package/dist/runner/__tests__/job-executor.test.js +1345 -0
- package/dist/runner/__tests__/job-executor.test.js.map +1 -0
- package/dist/runner/__tests__/message-processor.test.d.ts +2 -0
- package/dist/runner/__tests__/message-processor.test.d.ts.map +1 -0
- package/dist/runner/__tests__/message-processor.test.js +768 -0
- package/dist/runner/__tests__/message-processor.test.js.map +1 -0
- package/dist/runner/__tests__/sdk-adapter.test.d.ts +2 -0
- package/dist/runner/__tests__/sdk-adapter.test.d.ts.map +1 -0
- package/dist/runner/__tests__/sdk-adapter.test.js +554 -0
- package/dist/runner/__tests__/sdk-adapter.test.js.map +1 -0
- package/dist/runner/errors.d.ts +121 -0
- package/dist/runner/errors.d.ts.map +1 -0
- package/dist/runner/errors.js +212 -0
- package/dist/runner/errors.js.map +1 -0
- package/dist/runner/index.d.ts +12 -0
- package/dist/runner/index.d.ts.map +1 -0
- package/dist/runner/index.js +15 -0
- package/dist/runner/index.js.map +1 -0
- package/dist/runner/job-executor.d.ts +98 -0
- package/dist/runner/job-executor.d.ts.map +1 -0
- package/dist/runner/job-executor.js +333 -0
- package/dist/runner/job-executor.js.map +1 -0
- package/dist/runner/message-processor.d.ts +45 -0
- package/dist/runner/message-processor.d.ts.map +1 -0
- package/dist/runner/message-processor.js +294 -0
- package/dist/runner/message-processor.js.map +1 -0
- package/dist/runner/sdk-adapter.d.ts +60 -0
- package/dist/runner/sdk-adapter.d.ts.map +1 -0
- package/dist/runner/sdk-adapter.js +138 -0
- package/dist/runner/sdk-adapter.js.map +1 -0
- package/dist/runner/types.d.ts +135 -0
- package/dist/runner/types.d.ts.map +1 -0
- package/dist/runner/types.js +7 -0
- package/dist/runner/types.js.map +1 -0
- package/dist/scheduler/__tests__/errors.test.d.ts +2 -0
- package/dist/scheduler/__tests__/errors.test.d.ts.map +1 -0
- package/dist/scheduler/__tests__/errors.test.js +101 -0
- package/dist/scheduler/__tests__/errors.test.js.map +1 -0
- package/dist/scheduler/__tests__/interval.test.d.ts +2 -0
- package/dist/scheduler/__tests__/interval.test.d.ts.map +1 -0
- package/dist/scheduler/__tests__/interval.test.js +419 -0
- package/dist/scheduler/__tests__/interval.test.js.map +1 -0
- package/dist/scheduler/__tests__/schedule-runner.test.d.ts +2 -0
- package/dist/scheduler/__tests__/schedule-runner.test.d.ts.map +1 -0
- package/dist/scheduler/__tests__/schedule-runner.test.js +634 -0
- package/dist/scheduler/__tests__/schedule-runner.test.js.map +1 -0
- package/dist/scheduler/__tests__/schedule-state.test.d.ts +2 -0
- package/dist/scheduler/__tests__/schedule-state.test.d.ts.map +1 -0
- package/dist/scheduler/__tests__/schedule-state.test.js +572 -0
- package/dist/scheduler/__tests__/schedule-state.test.js.map +1 -0
- package/dist/scheduler/__tests__/scheduler.test.d.ts +2 -0
- package/dist/scheduler/__tests__/scheduler.test.d.ts.map +1 -0
- package/dist/scheduler/__tests__/scheduler.test.js +987 -0
- package/dist/scheduler/__tests__/scheduler.test.js.map +1 -0
- package/dist/scheduler/errors.d.ts +61 -0
- package/dist/scheduler/errors.d.ts.map +1 -0
- package/dist/scheduler/errors.js +81 -0
- package/dist/scheduler/errors.js.map +1 -0
- package/dist/scheduler/index.d.ts +13 -0
- package/dist/scheduler/index.d.ts.map +1 -0
- package/dist/scheduler/index.js +17 -0
- package/dist/scheduler/index.js.map +1 -0
- package/dist/scheduler/interval.d.ts +64 -0
- package/dist/scheduler/interval.d.ts.map +1 -0
- package/dist/scheduler/interval.js +139 -0
- package/dist/scheduler/interval.js.map +1 -0
- package/dist/scheduler/schedule-runner.d.ts +149 -0
- package/dist/scheduler/schedule-runner.d.ts.map +1 -0
- package/dist/scheduler/schedule-runner.js +277 -0
- package/dist/scheduler/schedule-runner.js.map +1 -0
- package/dist/scheduler/schedule-state.d.ts +105 -0
- package/dist/scheduler/schedule-state.d.ts.map +1 -0
- package/dist/scheduler/schedule-state.js +151 -0
- package/dist/scheduler/schedule-state.js.map +1 -0
- package/dist/scheduler/scheduler.d.ts +138 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -0
- package/dist/scheduler/scheduler.js +423 -0
- package/dist/scheduler/scheduler.js.map +1 -0
- package/dist/scheduler/types.d.ts +160 -0
- package/dist/scheduler/types.d.ts.map +1 -0
- package/dist/scheduler/types.js +8 -0
- package/dist/scheduler/types.js.map +1 -0
- package/dist/state/__tests__/directory.test.d.ts +2 -0
- package/dist/state/__tests__/directory.test.d.ts.map +1 -0
- package/dist/state/__tests__/directory.test.js +414 -0
- package/dist/state/__tests__/directory.test.js.map +1 -0
- package/dist/state/__tests__/fleet-state.test.d.ts +2 -0
- package/dist/state/__tests__/fleet-state.test.d.ts.map +1 -0
- package/dist/state/__tests__/fleet-state.test.js +696 -0
- package/dist/state/__tests__/fleet-state.test.js.map +1 -0
- package/dist/state/__tests__/job-metadata-schema.test.d.ts +2 -0
- package/dist/state/__tests__/job-metadata-schema.test.d.ts.map +1 -0
- package/dist/state/__tests__/job-metadata-schema.test.js +329 -0
- package/dist/state/__tests__/job-metadata-schema.test.js.map +1 -0
- package/dist/state/__tests__/job-metadata.test.d.ts +2 -0
- package/dist/state/__tests__/job-metadata.test.d.ts.map +1 -0
- package/dist/state/__tests__/job-metadata.test.js +667 -0
- package/dist/state/__tests__/job-metadata.test.js.map +1 -0
- package/dist/state/__tests__/job-output.test.d.ts +2 -0
- package/dist/state/__tests__/job-output.test.d.ts.map +1 -0
- package/dist/state/__tests__/job-output.test.js +672 -0
- package/dist/state/__tests__/job-output.test.js.map +1 -0
- package/dist/state/__tests__/session-schema.test.d.ts +2 -0
- package/dist/state/__tests__/session-schema.test.d.ts.map +1 -0
- package/dist/state/__tests__/session-schema.test.js +323 -0
- package/dist/state/__tests__/session-schema.test.js.map +1 -0
- package/dist/state/__tests__/session.test.d.ts +2 -0
- package/dist/state/__tests__/session.test.d.ts.map +1 -0
- package/dist/state/__tests__/session.test.js +468 -0
- package/dist/state/__tests__/session.test.js.map +1 -0
- package/dist/state/directory.d.ts +42 -0
- package/dist/state/directory.d.ts.map +1 -0
- package/dist/state/directory.js +170 -0
- package/dist/state/directory.js.map +1 -0
- package/dist/state/errors.d.ts +44 -0
- package/dist/state/errors.d.ts.map +1 -0
- package/dist/state/errors.js +82 -0
- package/dist/state/errors.js.map +1 -0
- package/dist/state/fleet-state.d.ts +126 -0
- package/dist/state/fleet-state.d.ts.map +1 -0
- package/dist/state/fleet-state.js +196 -0
- package/dist/state/fleet-state.js.map +1 -0
- package/dist/state/index.d.ts +21 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +30 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/job-metadata.d.ts +151 -0
- package/dist/state/job-metadata.d.ts.map +1 -0
- package/dist/state/job-metadata.js +287 -0
- package/dist/state/job-metadata.js.map +1 -0
- package/dist/state/job-output.d.ts +116 -0
- package/dist/state/job-output.d.ts.map +1 -0
- package/dist/state/job-output.js +218 -0
- package/dist/state/job-output.js.map +1 -0
- package/dist/state/schemas/__tests__/job-output.test.d.ts +2 -0
- package/dist/state/schemas/__tests__/job-output.test.d.ts.map +1 -0
- package/dist/state/schemas/__tests__/job-output.test.js +279 -0
- package/dist/state/schemas/__tests__/job-output.test.js.map +1 -0
- package/dist/state/schemas/fleet-state.d.ts +249 -0
- package/dist/state/schemas/fleet-state.d.ts.map +1 -0
- package/dist/state/schemas/fleet-state.js +97 -0
- package/dist/state/schemas/fleet-state.js.map +1 -0
- package/dist/state/schemas/index.d.ts +10 -0
- package/dist/state/schemas/index.d.ts.map +1 -0
- package/dist/state/schemas/index.js +10 -0
- package/dist/state/schemas/index.js.map +1 -0
- package/dist/state/schemas/job-metadata.d.ts +118 -0
- package/dist/state/schemas/job-metadata.d.ts.map +1 -0
- package/dist/state/schemas/job-metadata.js +123 -0
- package/dist/state/schemas/job-metadata.js.map +1 -0
- package/dist/state/schemas/job-output.d.ts +291 -0
- package/dist/state/schemas/job-output.d.ts.map +1 -0
- package/dist/state/schemas/job-output.js +132 -0
- package/dist/state/schemas/job-output.js.map +1 -0
- package/dist/state/schemas/session-info.d.ts +65 -0
- package/dist/state/schemas/session-info.d.ts.map +1 -0
- package/dist/state/schemas/session-info.js +58 -0
- package/dist/state/schemas/session-info.js.map +1 -0
- package/dist/state/session.d.ts +92 -0
- package/dist/state/session.d.ts.map +1 -0
- package/dist/state/session.js +173 -0
- package/dist/state/session.js.map +1 -0
- package/dist/state/types.d.ts +54 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/types.js +18 -0
- package/dist/state/types.js.map +1 -0
- package/dist/state/utils/__tests__/atomic.test.d.ts +2 -0
- package/dist/state/utils/__tests__/atomic.test.d.ts.map +1 -0
- package/dist/state/utils/__tests__/atomic.test.js +537 -0
- package/dist/state/utils/__tests__/atomic.test.js.map +1 -0
- package/dist/state/utils/__tests__/reads.test.d.ts +2 -0
- package/dist/state/utils/__tests__/reads.test.d.ts.map +1 -0
- package/dist/state/utils/__tests__/reads.test.js +792 -0
- package/dist/state/utils/__tests__/reads.test.js.map +1 -0
- package/dist/state/utils/atomic.d.ts +89 -0
- package/dist/state/utils/atomic.d.ts.map +1 -0
- package/dist/state/utils/atomic.js +157 -0
- package/dist/state/utils/atomic.js.map +1 -0
- package/dist/state/utils/index.d.ts +6 -0
- package/dist/state/utils/index.d.ts.map +1 -0
- package/dist/state/utils/index.js +6 -0
- package/dist/state/utils/index.js.map +1 -0
- package/dist/state/utils/reads.d.ts +196 -0
- package/dist/state/utils/reads.d.ts.map +1 -0
- package/dist/state/utils/reads.js +346 -0
- package/dist/state/utils/reads.js.map +1 -0
- package/dist/work-sources/__tests__/github.test.d.ts +2 -0
- package/dist/work-sources/__tests__/github.test.d.ts.map +1 -0
- package/dist/work-sources/__tests__/github.test.js +1334 -0
- package/dist/work-sources/__tests__/github.test.js.map +1 -0
- package/dist/work-sources/__tests__/manager.test.d.ts +2 -0
- package/dist/work-sources/__tests__/manager.test.d.ts.map +1 -0
- package/dist/work-sources/__tests__/manager.test.js +424 -0
- package/dist/work-sources/__tests__/manager.test.js.map +1 -0
- package/dist/work-sources/__tests__/registry.test.d.ts +2 -0
- package/dist/work-sources/__tests__/registry.test.d.ts.map +1 -0
- package/dist/work-sources/__tests__/registry.test.js +381 -0
- package/dist/work-sources/__tests__/registry.test.js.map +1 -0
- package/dist/work-sources/__tests__/types.test.d.ts +2 -0
- package/dist/work-sources/__tests__/types.test.d.ts.map +1 -0
- package/dist/work-sources/__tests__/types.test.js +406 -0
- package/dist/work-sources/__tests__/types.test.js.map +1 -0
- package/dist/work-sources/adapters/github.d.ts +290 -0
- package/dist/work-sources/adapters/github.d.ts.map +1 -0
- package/dist/work-sources/adapters/github.js +803 -0
- package/dist/work-sources/adapters/github.js.map +1 -0
- package/dist/work-sources/adapters/index.d.ts +10 -0
- package/dist/work-sources/adapters/index.d.ts.map +1 -0
- package/dist/work-sources/adapters/index.js +31 -0
- package/dist/work-sources/adapters/index.js.map +1 -0
- package/dist/work-sources/errors.d.ts +40 -0
- package/dist/work-sources/errors.d.ts.map +1 -0
- package/dist/work-sources/errors.js +54 -0
- package/dist/work-sources/errors.js.map +1 -0
- package/dist/work-sources/index.d.ts +105 -0
- package/dist/work-sources/index.d.ts.map +1 -0
- package/dist/work-sources/index.js +24 -0
- package/dist/work-sources/index.js.map +1 -0
- package/dist/work-sources/manager.d.ts +370 -0
- package/dist/work-sources/manager.d.ts.map +1 -0
- package/dist/work-sources/manager.js +61 -0
- package/dist/work-sources/manager.js.map +1 -0
- package/dist/work-sources/registry.d.ts +128 -0
- package/dist/work-sources/registry.d.ts.map +1 -0
- package/dist/work-sources/registry.js +132 -0
- package/dist/work-sources/registry.js.map +1 -0
- package/dist/work-sources/types.d.ts +127 -0
- package/dist/work-sources/types.d.ts.map +1 -0
- package/dist/work-sources/types.js +8 -0
- package/dist/work-sources/types.js.map +1 -0
- package/package.json +23 -0
- package/src/config/__tests__/agent.test.ts +864 -0
- package/src/config/__tests__/interpolate.test.ts +644 -0
- package/src/config/__tests__/loader.test.ts +784 -0
- package/src/config/__tests__/merge.test.ts +751 -0
- package/src/config/__tests__/parser.test.ts +533 -0
- package/src/config/__tests__/schema.test.ts +873 -0
- package/src/config/index.ts +119 -0
- package/src/config/interpolate.ts +189 -0
- package/src/config/loader.ts +472 -0
- package/src/config/merge.ts +246 -0
- package/src/config/parser.ts +376 -0
- package/src/config/schema.ts +346 -0
- package/src/fleet-manager/__tests__/coverage.test.ts +2869 -0
- package/src/fleet-manager/__tests__/errors.test.ts +660 -0
- package/src/fleet-manager/__tests__/event-helpers.test.ts +448 -0
- package/src/fleet-manager/__tests__/integration.test.ts +1209 -0
- package/src/fleet-manager/__tests__/job-control.test.ts +283 -0
- package/src/fleet-manager/__tests__/job-manager.test.ts +869 -0
- package/src/fleet-manager/__tests__/job-queue.test.ts +401 -0
- package/src/fleet-manager/__tests__/reload.test.ts +751 -0
- package/src/fleet-manager/__tests__/status-queries.test.ts +595 -0
- package/src/fleet-manager/__tests__/trigger.test.ts +601 -0
- package/src/fleet-manager/errors.ts +747 -0
- package/src/fleet-manager/event-types.ts +378 -0
- package/src/fleet-manager/fleet-manager.ts +2315 -0
- package/src/fleet-manager/index.ts +128 -0
- package/src/fleet-manager/job-manager.ts +663 -0
- package/src/fleet-manager/job-queue.ts +798 -0
- package/src/fleet-manager/types.ts +839 -0
- package/src/index.ts +32 -0
- package/src/runner/__tests__/errors.test.ts +382 -0
- package/src/runner/__tests__/job-executor.test.ts +1708 -0
- package/src/runner/__tests__/message-processor.test.ts +960 -0
- package/src/runner/__tests__/sdk-adapter.test.ts +626 -0
- package/src/runner/errors.ts +307 -0
- package/src/runner/index.ts +57 -0
- package/src/runner/job-executor.ts +448 -0
- package/src/runner/message-processor.ts +355 -0
- package/src/runner/sdk-adapter.ts +191 -0
- package/src/runner/types.ts +158 -0
- package/src/scheduler/__tests__/errors.test.ts +159 -0
- package/src/scheduler/__tests__/interval.test.ts +515 -0
- package/src/scheduler/__tests__/schedule-runner.test.ts +798 -0
- package/src/scheduler/__tests__/schedule-state.test.ts +671 -0
- package/src/scheduler/__tests__/scheduler.test.ts +1280 -0
- package/src/scheduler/errors.ts +101 -0
- package/src/scheduler/index.ts +53 -0
- package/src/scheduler/interval.ts +189 -0
- package/src/scheduler/schedule-runner.ts +442 -0
- package/src/scheduler/schedule-state.ts +211 -0
- package/src/scheduler/scheduler.ts +570 -0
- package/src/scheduler/types.ts +216 -0
- package/src/state/__tests__/directory.test.ts +595 -0
- package/src/state/__tests__/fleet-state.test.ts +868 -0
- package/src/state/__tests__/job-metadata-schema.test.ts +414 -0
- package/src/state/__tests__/job-metadata.test.ts +831 -0
- package/src/state/__tests__/job-output.test.ts +856 -0
- package/src/state/__tests__/session-schema.test.ts +378 -0
- package/src/state/__tests__/session.test.ts +604 -0
- package/src/state/directory.ts +217 -0
- package/src/state/errors.ts +97 -0
- package/src/state/fleet-state.ts +284 -0
- package/src/state/index.ts +79 -0
- package/src/state/job-metadata.ts +445 -0
- package/src/state/job-output.ts +316 -0
- package/src/state/schemas/__tests__/job-output.test.ts +338 -0
- package/src/state/schemas/fleet-state.ts +120 -0
- package/src/state/schemas/index.ts +67 -0
- package/src/state/schemas/job-metadata.ts +181 -0
- package/src/state/schemas/job-output.ts +177 -0
- package/src/state/schemas/session-info.ts +92 -0
- package/src/state/session.ts +253 -0
- package/src/state/types.ts +59 -0
- package/src/state/utils/__tests__/atomic.test.ts +723 -0
- package/src/state/utils/__tests__/reads.test.ts +1071 -0
- package/src/state/utils/atomic.ts +221 -0
- package/src/state/utils/index.ts +6 -0
- package/src/state/utils/reads.ts +512 -0
- package/src/work-sources/__tests__/github.test.ts +1800 -0
- package/src/work-sources/__tests__/manager.test.ts +529 -0
- package/src/work-sources/__tests__/registry.test.ts +477 -0
- package/src/work-sources/__tests__/types.test.ts +479 -0
- package/src/work-sources/adapters/github.ts +1166 -0
- package/src/work-sources/adapters/index.ts +64 -0
- package/src/work-sources/errors.ts +71 -0
- package/src/work-sources/index.ts +148 -0
- package/src/work-sources/manager.ts +413 -0
- package/src/work-sources/registry.ts +178 -0
- package/src/work-sources/types.ts +161 -0
- package/tsconfig.json +9 -0
- package/vitest.config.ts +19 -0
|
@@ -0,0 +1,569 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error classes for fleet manager operations
|
|
3
|
+
*
|
|
4
|
+
* Provides typed errors with descriptive messages and error codes for fleet manager failures.
|
|
5
|
+
* All errors extend FleetManagerError and include relevant context for debugging.
|
|
6
|
+
*/
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// Error Codes
|
|
9
|
+
// =============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Error codes for fleet manager errors
|
|
12
|
+
* These codes provide a stable identifier for error types that can be used
|
|
13
|
+
* for programmatic error handling.
|
|
14
|
+
*/
|
|
15
|
+
export const FleetManagerErrorCode = {
|
|
16
|
+
// Base error
|
|
17
|
+
FLEET_MANAGER_ERROR: "FLEET_MANAGER_ERROR",
|
|
18
|
+
// Configuration errors
|
|
19
|
+
CONFIGURATION_ERROR: "CONFIGURATION_ERROR",
|
|
20
|
+
CONFIG_LOAD_ERROR: "CONFIG_LOAD_ERROR",
|
|
21
|
+
// Not found errors
|
|
22
|
+
AGENT_NOT_FOUND: "AGENT_NOT_FOUND",
|
|
23
|
+
JOB_NOT_FOUND: "JOB_NOT_FOUND",
|
|
24
|
+
SCHEDULE_NOT_FOUND: "SCHEDULE_NOT_FOUND",
|
|
25
|
+
// State errors
|
|
26
|
+
INVALID_STATE: "INVALID_STATE",
|
|
27
|
+
STATE_DIR_ERROR: "STATE_DIR_ERROR",
|
|
28
|
+
// Operational errors
|
|
29
|
+
CONCURRENCY_LIMIT: "CONCURRENCY_LIMIT",
|
|
30
|
+
SHUTDOWN_ERROR: "SHUTDOWN_ERROR",
|
|
31
|
+
// Job control errors (US-6)
|
|
32
|
+
JOB_CANCEL_ERROR: "JOB_CANCEL_ERROR",
|
|
33
|
+
JOB_FORK_ERROR: "JOB_FORK_ERROR",
|
|
34
|
+
};
|
|
35
|
+
// =============================================================================
|
|
36
|
+
// Base Error Class
|
|
37
|
+
// =============================================================================
|
|
38
|
+
/**
|
|
39
|
+
* Base error class for all fleet manager errors
|
|
40
|
+
*
|
|
41
|
+
* All fleet manager errors extend this class and include:
|
|
42
|
+
* - A unique error code for programmatic handling
|
|
43
|
+
* - Descriptive error messages
|
|
44
|
+
* - Optional cause for error chaining
|
|
45
|
+
*/
|
|
46
|
+
export class FleetManagerError extends Error {
|
|
47
|
+
/** Error code for programmatic handling */
|
|
48
|
+
code;
|
|
49
|
+
constructor(message, options) {
|
|
50
|
+
super(message);
|
|
51
|
+
this.name = "FleetManagerError";
|
|
52
|
+
this.cause = options?.cause;
|
|
53
|
+
this.code = options?.code ?? FleetManagerErrorCode.FLEET_MANAGER_ERROR;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Error thrown when configuration is invalid or cannot be loaded
|
|
58
|
+
*
|
|
59
|
+
* This error is thrown when:
|
|
60
|
+
* - The configuration file cannot be found or read
|
|
61
|
+
* - The configuration YAML is malformed
|
|
62
|
+
* - The configuration fails schema validation
|
|
63
|
+
* - Agent definitions are invalid
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* try {
|
|
68
|
+
* await fleetManager.initialize();
|
|
69
|
+
* } catch (error) {
|
|
70
|
+
* if (error instanceof ConfigurationError) {
|
|
71
|
+
* console.error(`Config error at ${error.configPath}:`);
|
|
72
|
+
* for (const ve of error.validationErrors) {
|
|
73
|
+
* console.error(` - ${ve.path}: ${ve.message}`);
|
|
74
|
+
* }
|
|
75
|
+
* }
|
|
76
|
+
* }
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export class ConfigurationError extends FleetManagerError {
|
|
80
|
+
/** The path to the configuration file that failed */
|
|
81
|
+
configPath;
|
|
82
|
+
/** Detailed validation errors, if any */
|
|
83
|
+
validationErrors;
|
|
84
|
+
constructor(message, options) {
|
|
85
|
+
const validationErrors = options?.validationErrors ?? [];
|
|
86
|
+
const fullMessage = ConfigurationError.buildMessage(message, options?.configPath, validationErrors);
|
|
87
|
+
super(fullMessage, {
|
|
88
|
+
cause: options?.cause,
|
|
89
|
+
code: FleetManagerErrorCode.CONFIGURATION_ERROR,
|
|
90
|
+
});
|
|
91
|
+
this.name = "ConfigurationError";
|
|
92
|
+
this.configPath = options?.configPath;
|
|
93
|
+
this.validationErrors = validationErrors;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Build a detailed error message including validation errors
|
|
97
|
+
*/
|
|
98
|
+
static buildMessage(message, configPath, validationErrors) {
|
|
99
|
+
const parts = [message];
|
|
100
|
+
if (configPath) {
|
|
101
|
+
parts.push(`Config file: ${configPath}`);
|
|
102
|
+
}
|
|
103
|
+
if (validationErrors && validationErrors.length > 0) {
|
|
104
|
+
parts.push("Validation errors:");
|
|
105
|
+
for (const ve of validationErrors) {
|
|
106
|
+
parts.push(` - ${ve.path}: ${ve.message}`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return parts.join("\n");
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if this error has validation errors
|
|
113
|
+
*/
|
|
114
|
+
hasValidationErrors() {
|
|
115
|
+
return this.validationErrors.length > 0;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// =============================================================================
|
|
119
|
+
// Not Found Errors
|
|
120
|
+
// =============================================================================
|
|
121
|
+
/**
|
|
122
|
+
* Error thrown when a requested agent is not found
|
|
123
|
+
*
|
|
124
|
+
* This error is thrown when:
|
|
125
|
+
* - Attempting to run an agent that doesn't exist in the configuration
|
|
126
|
+
* - Attempting to get status for an unknown agent
|
|
127
|
+
* - Referencing an agent name that hasn't been defined
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* try {
|
|
132
|
+
* await fleetManager.runAgent('nonexistent-agent');
|
|
133
|
+
* } catch (error) {
|
|
134
|
+
* if (error instanceof AgentNotFoundError) {
|
|
135
|
+
* console.error(`Agent "${error.agentName}" not found`);
|
|
136
|
+
* console.log('Available agents:', fleetManager.getAgentNames());
|
|
137
|
+
* }
|
|
138
|
+
* }
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
export class AgentNotFoundError extends FleetManagerError {
|
|
142
|
+
/** The name of the agent that was not found */
|
|
143
|
+
agentName;
|
|
144
|
+
/** Optional list of available agent names for helpful error messages */
|
|
145
|
+
availableAgents;
|
|
146
|
+
constructor(agentName, options) {
|
|
147
|
+
const message = AgentNotFoundError.buildMessage(agentName, options?.availableAgents);
|
|
148
|
+
super(message, {
|
|
149
|
+
cause: options?.cause,
|
|
150
|
+
code: FleetManagerErrorCode.AGENT_NOT_FOUND,
|
|
151
|
+
});
|
|
152
|
+
this.name = "AgentNotFoundError";
|
|
153
|
+
this.agentName = agentName;
|
|
154
|
+
this.availableAgents = options?.availableAgents;
|
|
155
|
+
}
|
|
156
|
+
static buildMessage(agentName, availableAgents) {
|
|
157
|
+
let message = `Agent "${agentName}" not found`;
|
|
158
|
+
if (availableAgents && availableAgents.length > 0) {
|
|
159
|
+
message += `. Available agents: ${availableAgents.join(", ")}`;
|
|
160
|
+
}
|
|
161
|
+
else if (availableAgents && availableAgents.length === 0) {
|
|
162
|
+
message += ". No agents are configured.";
|
|
163
|
+
}
|
|
164
|
+
return message;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Error thrown when a requested job is not found
|
|
169
|
+
*
|
|
170
|
+
* This error is thrown when:
|
|
171
|
+
* - Attempting to get status for a job that doesn't exist
|
|
172
|
+
* - Attempting to cancel a job that has already completed or doesn't exist
|
|
173
|
+
* - Referencing a job ID that is unknown
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* try {
|
|
178
|
+
* const status = await fleetManager.getJobStatus('unknown-job-id');
|
|
179
|
+
* } catch (error) {
|
|
180
|
+
* if (error instanceof JobNotFoundError) {
|
|
181
|
+
* console.error(`Job "${error.jobId}" not found`);
|
|
182
|
+
* }
|
|
183
|
+
* }
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
export class JobNotFoundError extends FleetManagerError {
|
|
187
|
+
/** The ID of the job that was not found */
|
|
188
|
+
jobId;
|
|
189
|
+
constructor(jobId, options) {
|
|
190
|
+
super(`Job "${jobId}" not found`, {
|
|
191
|
+
cause: options?.cause,
|
|
192
|
+
code: FleetManagerErrorCode.JOB_NOT_FOUND,
|
|
193
|
+
});
|
|
194
|
+
this.name = "JobNotFoundError";
|
|
195
|
+
this.jobId = jobId;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Error thrown when a requested schedule is not found
|
|
200
|
+
*
|
|
201
|
+
* This error is thrown when:
|
|
202
|
+
* - Attempting to trigger a schedule that doesn't exist
|
|
203
|
+
* - Attempting to enable/disable a schedule that doesn't exist
|
|
204
|
+
* - Referencing a schedule name that hasn't been defined for an agent
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```typescript
|
|
208
|
+
* try {
|
|
209
|
+
* await fleetManager.triggerSchedule('my-agent', 'nonexistent-schedule');
|
|
210
|
+
* } catch (error) {
|
|
211
|
+
* if (error instanceof ScheduleNotFoundError) {
|
|
212
|
+
* console.error(
|
|
213
|
+
* `Schedule "${error.scheduleName}" not found for agent "${error.agentName}"`
|
|
214
|
+
* );
|
|
215
|
+
* }
|
|
216
|
+
* }
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
export class ScheduleNotFoundError extends FleetManagerError {
|
|
220
|
+
/** The name of the agent the schedule was expected to belong to */
|
|
221
|
+
agentName;
|
|
222
|
+
/** The name of the schedule that was not found */
|
|
223
|
+
scheduleName;
|
|
224
|
+
/** Optional list of available schedule names for helpful error messages */
|
|
225
|
+
availableSchedules;
|
|
226
|
+
constructor(agentName, scheduleName, options) {
|
|
227
|
+
const message = ScheduleNotFoundError.buildMessage(agentName, scheduleName, options?.availableSchedules);
|
|
228
|
+
super(message, {
|
|
229
|
+
cause: options?.cause,
|
|
230
|
+
code: FleetManagerErrorCode.SCHEDULE_NOT_FOUND,
|
|
231
|
+
});
|
|
232
|
+
this.name = "ScheduleNotFoundError";
|
|
233
|
+
this.agentName = agentName;
|
|
234
|
+
this.scheduleName = scheduleName;
|
|
235
|
+
this.availableSchedules = options?.availableSchedules;
|
|
236
|
+
}
|
|
237
|
+
static buildMessage(agentName, scheduleName, availableSchedules) {
|
|
238
|
+
let message = `Schedule "${scheduleName}" not found for agent "${agentName}"`;
|
|
239
|
+
if (availableSchedules && availableSchedules.length > 0) {
|
|
240
|
+
message += `. Available schedules: ${availableSchedules.join(", ")}`;
|
|
241
|
+
}
|
|
242
|
+
else if (availableSchedules && availableSchedules.length === 0) {
|
|
243
|
+
message += `. Agent "${agentName}" has no schedules configured.`;
|
|
244
|
+
}
|
|
245
|
+
return message;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
// =============================================================================
|
|
249
|
+
// State Errors
|
|
250
|
+
// =============================================================================
|
|
251
|
+
/**
|
|
252
|
+
* Error thrown when an operation is attempted in an invalid state
|
|
253
|
+
*
|
|
254
|
+
* This error is thrown when:
|
|
255
|
+
* - start() is called before initialize()
|
|
256
|
+
* - initialize() is called when already initialized
|
|
257
|
+
* - Operations are attempted while in an incompatible state
|
|
258
|
+
* - State transitions are invalid
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* ```typescript
|
|
262
|
+
* try {
|
|
263
|
+
* await fleetManager.start(); // without calling initialize() first
|
|
264
|
+
* } catch (error) {
|
|
265
|
+
* if (error instanceof InvalidStateError) {
|
|
266
|
+
* console.error(
|
|
267
|
+
* `Cannot ${error.operation}: current state is "${error.currentState}", ` +
|
|
268
|
+
* `expected "${error.expectedState}"`
|
|
269
|
+
* );
|
|
270
|
+
* }
|
|
271
|
+
* }
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
export class InvalidStateError extends FleetManagerError {
|
|
275
|
+
/** The current state of the fleet manager */
|
|
276
|
+
currentState;
|
|
277
|
+
/** The state(s) expected/required for the operation */
|
|
278
|
+
expectedState;
|
|
279
|
+
/** The operation that was attempted */
|
|
280
|
+
operation;
|
|
281
|
+
constructor(operation, currentState, expectedState, options) {
|
|
282
|
+
const expected = Array.isArray(expectedState)
|
|
283
|
+
? expectedState.join(" or ")
|
|
284
|
+
: expectedState;
|
|
285
|
+
super(`Cannot ${operation}: fleet manager is in "${currentState}" state, must be "${expected}"`, {
|
|
286
|
+
cause: options?.cause,
|
|
287
|
+
code: FleetManagerErrorCode.INVALID_STATE,
|
|
288
|
+
});
|
|
289
|
+
this.name = "InvalidStateError";
|
|
290
|
+
this.operation = operation;
|
|
291
|
+
this.currentState = currentState;
|
|
292
|
+
this.expectedState = expectedState;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Error thrown when the fleet manager is not in the correct state for an operation
|
|
297
|
+
*
|
|
298
|
+
* @deprecated Use InvalidStateError instead. This class is kept for backwards compatibility.
|
|
299
|
+
*/
|
|
300
|
+
export class FleetManagerStateError extends InvalidStateError {
|
|
301
|
+
constructor(operation, currentState, requiredState) {
|
|
302
|
+
super(operation, currentState, requiredState);
|
|
303
|
+
this.name = "FleetManagerStateError";
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Alias for expectedState for backwards compatibility
|
|
307
|
+
*/
|
|
308
|
+
get requiredState() {
|
|
309
|
+
return this.expectedState;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
// =============================================================================
|
|
313
|
+
// Operational Errors
|
|
314
|
+
// =============================================================================
|
|
315
|
+
/**
|
|
316
|
+
* Error thrown when an operation would exceed concurrency limits
|
|
317
|
+
*
|
|
318
|
+
* This error is thrown when:
|
|
319
|
+
* - Attempting to start a new job when the agent has reached its concurrent job limit
|
|
320
|
+
* - Attempting to run more jobs than the system allows
|
|
321
|
+
*
|
|
322
|
+
* @example
|
|
323
|
+
* ```typescript
|
|
324
|
+
* try {
|
|
325
|
+
* await fleetManager.runAgent('my-agent');
|
|
326
|
+
* } catch (error) {
|
|
327
|
+
* if (error instanceof ConcurrencyLimitError) {
|
|
328
|
+
* console.error(
|
|
329
|
+
* `Agent "${error.agentName}" has ${error.currentJobs}/${error.limit} jobs running. ` +
|
|
330
|
+
* `Please wait for a job to complete.`
|
|
331
|
+
* );
|
|
332
|
+
* }
|
|
333
|
+
* }
|
|
334
|
+
* ```
|
|
335
|
+
*/
|
|
336
|
+
export class ConcurrencyLimitError extends FleetManagerError {
|
|
337
|
+
/** The name of the agent that hit the concurrency limit */
|
|
338
|
+
agentName;
|
|
339
|
+
/** The current number of running jobs for this agent */
|
|
340
|
+
currentJobs;
|
|
341
|
+
/** The maximum allowed concurrent jobs for this agent */
|
|
342
|
+
limit;
|
|
343
|
+
constructor(agentName, currentJobs, limit, options) {
|
|
344
|
+
super(`Agent "${agentName}" has reached its concurrency limit: ${currentJobs}/${limit} jobs running`, {
|
|
345
|
+
cause: options?.cause,
|
|
346
|
+
code: FleetManagerErrorCode.CONCURRENCY_LIMIT,
|
|
347
|
+
});
|
|
348
|
+
this.name = "ConcurrencyLimitError";
|
|
349
|
+
this.agentName = agentName;
|
|
350
|
+
this.currentJobs = currentJobs;
|
|
351
|
+
this.limit = limit;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Check if the limit is completely maxed out (no room for more jobs)
|
|
355
|
+
*/
|
|
356
|
+
isAtLimit() {
|
|
357
|
+
return this.currentJobs >= this.limit;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
// =============================================================================
|
|
361
|
+
// Configuration Loading Errors (kept for backwards compatibility)
|
|
362
|
+
// =============================================================================
|
|
363
|
+
/**
|
|
364
|
+
* Error thrown when configuration loading fails
|
|
365
|
+
*
|
|
366
|
+
* @deprecated Use ConfigurationError instead for new code.
|
|
367
|
+
* This class is kept for backwards compatibility.
|
|
368
|
+
*/
|
|
369
|
+
export class FleetManagerConfigError extends FleetManagerError {
|
|
370
|
+
/** The path that was being loaded */
|
|
371
|
+
configPath;
|
|
372
|
+
constructor(message, configPath, options) {
|
|
373
|
+
super(message, {
|
|
374
|
+
cause: options?.cause,
|
|
375
|
+
code: FleetManagerErrorCode.CONFIG_LOAD_ERROR,
|
|
376
|
+
});
|
|
377
|
+
this.name = "FleetManagerConfigError";
|
|
378
|
+
this.configPath = configPath;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
// =============================================================================
|
|
382
|
+
// State Directory Errors
|
|
383
|
+
// =============================================================================
|
|
384
|
+
/**
|
|
385
|
+
* Error thrown when state directory initialization fails
|
|
386
|
+
*
|
|
387
|
+
* This wraps state directory errors with fleet manager context.
|
|
388
|
+
*/
|
|
389
|
+
export class FleetManagerStateDirError extends FleetManagerError {
|
|
390
|
+
/** The state directory path */
|
|
391
|
+
stateDir;
|
|
392
|
+
constructor(message, stateDir, options) {
|
|
393
|
+
super(message, {
|
|
394
|
+
cause: options?.cause,
|
|
395
|
+
code: FleetManagerErrorCode.STATE_DIR_ERROR,
|
|
396
|
+
});
|
|
397
|
+
this.name = "FleetManagerStateDirError";
|
|
398
|
+
this.stateDir = stateDir;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
// =============================================================================
|
|
402
|
+
// Shutdown Errors
|
|
403
|
+
// =============================================================================
|
|
404
|
+
/**
|
|
405
|
+
* Error thrown when fleet manager shutdown fails
|
|
406
|
+
*
|
|
407
|
+
* This is thrown when the fleet manager cannot shut down cleanly.
|
|
408
|
+
*/
|
|
409
|
+
export class FleetManagerShutdownError extends FleetManagerError {
|
|
410
|
+
/** Whether the shutdown timed out */
|
|
411
|
+
timedOut;
|
|
412
|
+
constructor(message, options) {
|
|
413
|
+
super(message, {
|
|
414
|
+
cause: options.cause,
|
|
415
|
+
code: FleetManagerErrorCode.SHUTDOWN_ERROR,
|
|
416
|
+
});
|
|
417
|
+
this.name = "FleetManagerShutdownError";
|
|
418
|
+
this.timedOut = options.timedOut;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Check if the shutdown failed due to timeout
|
|
422
|
+
*/
|
|
423
|
+
isTimeout() {
|
|
424
|
+
return this.timedOut;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
// =============================================================================
|
|
428
|
+
// Job Control Errors (US-6)
|
|
429
|
+
// =============================================================================
|
|
430
|
+
/**
|
|
431
|
+
* Error thrown when job cancellation fails
|
|
432
|
+
*
|
|
433
|
+
* This error is thrown when:
|
|
434
|
+
* - The job process cannot be terminated
|
|
435
|
+
* - The job is in an invalid state for cancellation
|
|
436
|
+
* - An error occurs during the cancellation process
|
|
437
|
+
*
|
|
438
|
+
* @example
|
|
439
|
+
* ```typescript
|
|
440
|
+
* try {
|
|
441
|
+
* await manager.cancelJob('job-2024-01-15-abc123');
|
|
442
|
+
* } catch (error) {
|
|
443
|
+
* if (error instanceof JobCancelError) {
|
|
444
|
+
* console.error(`Failed to cancel job: ${error.message}`);
|
|
445
|
+
* console.error(`Job ID: ${error.jobId}`);
|
|
446
|
+
* }
|
|
447
|
+
* }
|
|
448
|
+
* ```
|
|
449
|
+
*/
|
|
450
|
+
export class JobCancelError extends FleetManagerError {
|
|
451
|
+
/** The ID of the job that failed to cancel */
|
|
452
|
+
jobId;
|
|
453
|
+
/** The reason the cancellation failed */
|
|
454
|
+
reason;
|
|
455
|
+
constructor(jobId, reason, options) {
|
|
456
|
+
const defaultMessages = {
|
|
457
|
+
not_running: `Job "${jobId}" is not running and cannot be cancelled`,
|
|
458
|
+
process_error: `Failed to terminate process for job "${jobId}"`,
|
|
459
|
+
timeout: `Timeout waiting for job "${jobId}" to terminate`,
|
|
460
|
+
unknown: `Unknown error cancelling job "${jobId}"`,
|
|
461
|
+
};
|
|
462
|
+
super(options?.message ?? defaultMessages[reason], {
|
|
463
|
+
cause: options?.cause,
|
|
464
|
+
code: FleetManagerErrorCode.JOB_CANCEL_ERROR,
|
|
465
|
+
});
|
|
466
|
+
this.name = "JobCancelError";
|
|
467
|
+
this.jobId = jobId;
|
|
468
|
+
this.reason = reason;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Error thrown when job forking fails
|
|
473
|
+
*
|
|
474
|
+
* This error is thrown when:
|
|
475
|
+
* - The original job cannot be found
|
|
476
|
+
* - The original job has no session to fork
|
|
477
|
+
* - An error occurs during the fork process
|
|
478
|
+
*
|
|
479
|
+
* @example
|
|
480
|
+
* ```typescript
|
|
481
|
+
* try {
|
|
482
|
+
* await manager.forkJob('job-2024-01-15-abc123');
|
|
483
|
+
* } catch (error) {
|
|
484
|
+
* if (error instanceof JobForkError) {
|
|
485
|
+
* console.error(`Failed to fork job: ${error.message}`);
|
|
486
|
+
* console.error(`Original Job ID: ${error.originalJobId}`);
|
|
487
|
+
* }
|
|
488
|
+
* }
|
|
489
|
+
* ```
|
|
490
|
+
*/
|
|
491
|
+
export class JobForkError extends FleetManagerError {
|
|
492
|
+
/** The ID of the original job that failed to fork */
|
|
493
|
+
originalJobId;
|
|
494
|
+
/** The reason the fork failed */
|
|
495
|
+
reason;
|
|
496
|
+
constructor(originalJobId, reason, options) {
|
|
497
|
+
const defaultMessages = {
|
|
498
|
+
no_session: `Job "${originalJobId}" has no session ID and cannot be forked`,
|
|
499
|
+
job_not_found: `Job "${originalJobId}" not found`,
|
|
500
|
+
agent_not_found: `Agent for job "${originalJobId}" not found`,
|
|
501
|
+
unknown: `Unknown error forking job "${originalJobId}"`,
|
|
502
|
+
};
|
|
503
|
+
super(options?.message ?? defaultMessages[reason], {
|
|
504
|
+
cause: options?.cause,
|
|
505
|
+
code: FleetManagerErrorCode.JOB_FORK_ERROR,
|
|
506
|
+
});
|
|
507
|
+
this.name = "JobForkError";
|
|
508
|
+
this.originalJobId = originalJobId;
|
|
509
|
+
this.reason = reason;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
// =============================================================================
|
|
513
|
+
// Type Guards
|
|
514
|
+
// =============================================================================
|
|
515
|
+
/**
|
|
516
|
+
* Type guard to check if an error is a FleetManagerError
|
|
517
|
+
*/
|
|
518
|
+
export function isFleetManagerError(error) {
|
|
519
|
+
return error instanceof FleetManagerError;
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
* Type guard to check if an error is a ConfigurationError
|
|
523
|
+
*/
|
|
524
|
+
export function isConfigurationError(error) {
|
|
525
|
+
return error instanceof ConfigurationError;
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Type guard to check if an error is an AgentNotFoundError
|
|
529
|
+
*/
|
|
530
|
+
export function isAgentNotFoundError(error) {
|
|
531
|
+
return error instanceof AgentNotFoundError;
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* Type guard to check if an error is a JobNotFoundError
|
|
535
|
+
*/
|
|
536
|
+
export function isJobNotFoundError(error) {
|
|
537
|
+
return error instanceof JobNotFoundError;
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* Type guard to check if an error is a ScheduleNotFoundError
|
|
541
|
+
*/
|
|
542
|
+
export function isScheduleNotFoundError(error) {
|
|
543
|
+
return error instanceof ScheduleNotFoundError;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Type guard to check if an error is an InvalidStateError
|
|
547
|
+
*/
|
|
548
|
+
export function isInvalidStateError(error) {
|
|
549
|
+
return error instanceof InvalidStateError;
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Type guard to check if an error is a ConcurrencyLimitError
|
|
553
|
+
*/
|
|
554
|
+
export function isConcurrencyLimitError(error) {
|
|
555
|
+
return error instanceof ConcurrencyLimitError;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Type guard to check if an error is a JobCancelError
|
|
559
|
+
*/
|
|
560
|
+
export function isJobCancelError(error) {
|
|
561
|
+
return error instanceof JobCancelError;
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Type guard to check if an error is a JobForkError
|
|
565
|
+
*/
|
|
566
|
+
export function isJobForkError(error) {
|
|
567
|
+
return error instanceof JobForkError;
|
|
568
|
+
}
|
|
569
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/fleet-manager/errors.ts"],"names":[],"mappings":"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"}
|