@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,422 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Job Queue module for concurrency control
|
|
3
|
+
*
|
|
4
|
+
* Provides a job queue with per-agent and fleet-wide concurrency limits.
|
|
5
|
+
* Jobs queue when limits are reached and are processed FIFO within priority levels.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const queue = new JobQueue({
|
|
10
|
+
* defaultAgentConcurrency: 1,
|
|
11
|
+
* fleetConcurrency: 10,
|
|
12
|
+
* });
|
|
13
|
+
*
|
|
14
|
+
* // Enqueue a job
|
|
15
|
+
* const result = queue.enqueue({
|
|
16
|
+
* agentName: 'my-agent',
|
|
17
|
+
* scheduleName: 'hourly',
|
|
18
|
+
* priority: 5,
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* if (result.queued) {
|
|
22
|
+
* console.log(`Job queued at position ${result.position}`);
|
|
23
|
+
* } else {
|
|
24
|
+
* console.log(`Job ready to run: ${result.jobId}`);
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* // Dequeue when ready
|
|
28
|
+
* const job = queue.dequeue('my-agent');
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import { EventEmitter } from "node:events";
|
|
32
|
+
/**
|
|
33
|
+
* Priority level for queued jobs
|
|
34
|
+
* Lower numbers = higher priority
|
|
35
|
+
* Default priority is 5 (normal)
|
|
36
|
+
*/
|
|
37
|
+
export type JobPriority = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
|
|
38
|
+
/**
|
|
39
|
+
* Configuration options for the JobQueue
|
|
40
|
+
*/
|
|
41
|
+
export interface JobQueueOptions {
|
|
42
|
+
/**
|
|
43
|
+
* Default concurrency limit per agent
|
|
44
|
+
* Can be overridden per-agent via setAgentConcurrency()
|
|
45
|
+
* Default: 1
|
|
46
|
+
*/
|
|
47
|
+
defaultAgentConcurrency?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Fleet-wide concurrency limit (optional)
|
|
50
|
+
* When set, limits total concurrent jobs across all agents
|
|
51
|
+
* Default: undefined (no fleet-wide limit)
|
|
52
|
+
*/
|
|
53
|
+
fleetConcurrency?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Logger for queue operations
|
|
56
|
+
*/
|
|
57
|
+
logger?: JobQueueLogger;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Logger interface for job queue operations
|
|
61
|
+
*/
|
|
62
|
+
export interface JobQueueLogger {
|
|
63
|
+
debug: (message: string) => void;
|
|
64
|
+
info: (message: string) => void;
|
|
65
|
+
warn: (message: string) => void;
|
|
66
|
+
error: (message: string) => void;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A queued job entry
|
|
70
|
+
*/
|
|
71
|
+
export interface QueuedJob {
|
|
72
|
+
/**
|
|
73
|
+
* Unique ID for this queued job
|
|
74
|
+
*/
|
|
75
|
+
id: string;
|
|
76
|
+
/**
|
|
77
|
+
* Name of the agent this job is for
|
|
78
|
+
*/
|
|
79
|
+
agentName: string;
|
|
80
|
+
/**
|
|
81
|
+
* Name of the schedule that triggered this job (optional)
|
|
82
|
+
*/
|
|
83
|
+
scheduleName?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Job priority (1-10, lower = higher priority)
|
|
86
|
+
* Default: 5 (normal)
|
|
87
|
+
*/
|
|
88
|
+
priority: JobPriority;
|
|
89
|
+
/**
|
|
90
|
+
* ISO timestamp when the job was queued
|
|
91
|
+
*/
|
|
92
|
+
queuedAt: string;
|
|
93
|
+
/**
|
|
94
|
+
* Prompt override for this job (optional)
|
|
95
|
+
*/
|
|
96
|
+
prompt?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Whether this is from a scheduled trigger
|
|
99
|
+
*/
|
|
100
|
+
isScheduled: boolean;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Options for enqueueing a job
|
|
104
|
+
*/
|
|
105
|
+
export interface EnqueueOptions {
|
|
106
|
+
/**
|
|
107
|
+
* Name of the agent to run
|
|
108
|
+
*/
|
|
109
|
+
agentName: string;
|
|
110
|
+
/**
|
|
111
|
+
* Name of the schedule (optional)
|
|
112
|
+
*/
|
|
113
|
+
scheduleName?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Job priority (1-10, lower = higher priority)
|
|
116
|
+
* Default: 5
|
|
117
|
+
*/
|
|
118
|
+
priority?: JobPriority;
|
|
119
|
+
/**
|
|
120
|
+
* Prompt override (optional)
|
|
121
|
+
*/
|
|
122
|
+
prompt?: string;
|
|
123
|
+
/**
|
|
124
|
+
* Whether this is from a scheduled trigger
|
|
125
|
+
* Scheduled triggers are NOT queued - they emit schedule:skipped instead
|
|
126
|
+
* Default: false
|
|
127
|
+
*/
|
|
128
|
+
isScheduled?: boolean;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Result of enqueueing a job
|
|
132
|
+
*/
|
|
133
|
+
export interface EnqueueResult {
|
|
134
|
+
/**
|
|
135
|
+
* The queued job ID
|
|
136
|
+
*/
|
|
137
|
+
jobId: string;
|
|
138
|
+
/**
|
|
139
|
+
* Whether the job was actually queued (vs ready to run immediately)
|
|
140
|
+
*/
|
|
141
|
+
queued: boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Position in the queue (1-based) if queued
|
|
144
|
+
* Undefined if not queued (ready to run)
|
|
145
|
+
*/
|
|
146
|
+
position?: number;
|
|
147
|
+
/**
|
|
148
|
+
* Reason the job was queued, if applicable
|
|
149
|
+
*/
|
|
150
|
+
reason?: "agent_at_capacity" | "fleet_at_capacity";
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Result when a scheduled job is skipped due to concurrency
|
|
154
|
+
*/
|
|
155
|
+
export interface ScheduleSkipResult {
|
|
156
|
+
/**
|
|
157
|
+
* The agent that was at capacity
|
|
158
|
+
*/
|
|
159
|
+
agentName: string;
|
|
160
|
+
/**
|
|
161
|
+
* The schedule that was skipped
|
|
162
|
+
*/
|
|
163
|
+
scheduleName?: string;
|
|
164
|
+
/**
|
|
165
|
+
* Reason for skipping
|
|
166
|
+
*/
|
|
167
|
+
reason: "agent_at_capacity" | "fleet_at_capacity";
|
|
168
|
+
/**
|
|
169
|
+
* Current running count
|
|
170
|
+
*/
|
|
171
|
+
currentRunning: number;
|
|
172
|
+
/**
|
|
173
|
+
* The limit that was hit
|
|
174
|
+
*/
|
|
175
|
+
limit: number;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Status of the job queue for a specific agent
|
|
179
|
+
*/
|
|
180
|
+
export interface AgentQueueStatus {
|
|
181
|
+
/**
|
|
182
|
+
* Name of the agent
|
|
183
|
+
*/
|
|
184
|
+
agentName: string;
|
|
185
|
+
/**
|
|
186
|
+
* Number of jobs currently running for this agent
|
|
187
|
+
*/
|
|
188
|
+
runningCount: number;
|
|
189
|
+
/**
|
|
190
|
+
* Maximum concurrent jobs allowed for this agent
|
|
191
|
+
*/
|
|
192
|
+
maxConcurrent: number;
|
|
193
|
+
/**
|
|
194
|
+
* Number of jobs queued for this agent
|
|
195
|
+
*/
|
|
196
|
+
queuedCount: number;
|
|
197
|
+
/**
|
|
198
|
+
* The queued jobs for this agent (in order)
|
|
199
|
+
*/
|
|
200
|
+
queuedJobs: QueuedJob[];
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Overall queue status
|
|
204
|
+
*/
|
|
205
|
+
export interface QueueStatus {
|
|
206
|
+
/**
|
|
207
|
+
* Total jobs currently running across all agents
|
|
208
|
+
*/
|
|
209
|
+
totalRunning: number;
|
|
210
|
+
/**
|
|
211
|
+
* Fleet-wide concurrency limit (if set)
|
|
212
|
+
*/
|
|
213
|
+
fleetConcurrency: number | null;
|
|
214
|
+
/**
|
|
215
|
+
* Default per-agent concurrency limit
|
|
216
|
+
*/
|
|
217
|
+
defaultAgentConcurrency: number;
|
|
218
|
+
/**
|
|
219
|
+
* Total jobs queued across all agents
|
|
220
|
+
*/
|
|
221
|
+
totalQueued: number;
|
|
222
|
+
/**
|
|
223
|
+
* Per-agent queue status
|
|
224
|
+
*/
|
|
225
|
+
agents: Map<string, AgentQueueStatus>;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Events emitted by the JobQueue
|
|
229
|
+
*/
|
|
230
|
+
export interface JobQueueEventMap {
|
|
231
|
+
/**
|
|
232
|
+
* Emitted when a job is enqueued
|
|
233
|
+
*/
|
|
234
|
+
"job:queued": [job: QueuedJob, position: number];
|
|
235
|
+
/**
|
|
236
|
+
* Emitted when a job is dequeued and ready to run
|
|
237
|
+
*/
|
|
238
|
+
"job:dequeued": [job: QueuedJob];
|
|
239
|
+
/**
|
|
240
|
+
* Emitted when a scheduled trigger is skipped due to concurrency
|
|
241
|
+
*/
|
|
242
|
+
"schedule:skipped": [result: ScheduleSkipResult];
|
|
243
|
+
/**
|
|
244
|
+
* Emitted when a job completes and capacity becomes available
|
|
245
|
+
*/
|
|
246
|
+
"capacity:available": [agentName: string, available: number];
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Job queue with concurrency control
|
|
250
|
+
*
|
|
251
|
+
* Manages a FIFO queue (within priority levels) with:
|
|
252
|
+
* - Per-agent concurrency limits
|
|
253
|
+
* - Optional fleet-wide concurrency limit
|
|
254
|
+
* - Priority-based ordering (lower number = higher priority)
|
|
255
|
+
*
|
|
256
|
+
* Scheduled triggers are NOT queued - instead, a schedule:skipped event
|
|
257
|
+
* is emitted when the agent or fleet is at capacity.
|
|
258
|
+
*/
|
|
259
|
+
export declare class JobQueue extends EventEmitter {
|
|
260
|
+
private readonly defaultAgentConcurrency;
|
|
261
|
+
private readonly fleetConcurrency;
|
|
262
|
+
private readonly logger;
|
|
263
|
+
private readonly agentConcurrencyLimits;
|
|
264
|
+
private readonly runningJobs;
|
|
265
|
+
private readonly queuedJobs;
|
|
266
|
+
private totalRunningCount;
|
|
267
|
+
constructor(options?: JobQueueOptions);
|
|
268
|
+
/**
|
|
269
|
+
* Set the concurrency limit for a specific agent
|
|
270
|
+
*
|
|
271
|
+
* @param agentName - The agent name
|
|
272
|
+
* @param limit - The concurrency limit (must be >= 1)
|
|
273
|
+
*/
|
|
274
|
+
setAgentConcurrency(agentName: string, limit: number): void;
|
|
275
|
+
/**
|
|
276
|
+
* Get the concurrency limit for an agent
|
|
277
|
+
*
|
|
278
|
+
* @param agentName - The agent name
|
|
279
|
+
* @returns The concurrency limit (agent-specific or default)
|
|
280
|
+
*/
|
|
281
|
+
getAgentConcurrency(agentName: string): number;
|
|
282
|
+
/**
|
|
283
|
+
* Get the fleet-wide concurrency limit
|
|
284
|
+
*
|
|
285
|
+
* @returns The fleet concurrency limit or null if not set
|
|
286
|
+
*/
|
|
287
|
+
getFleetConcurrency(): number | null;
|
|
288
|
+
/**
|
|
289
|
+
* Get the default agent concurrency limit
|
|
290
|
+
*
|
|
291
|
+
* @returns The default agent concurrency limit
|
|
292
|
+
*/
|
|
293
|
+
getDefaultAgentConcurrency(): number;
|
|
294
|
+
/**
|
|
295
|
+
* Check if there's capacity to run a job for an agent
|
|
296
|
+
*
|
|
297
|
+
* @param agentName - The agent name
|
|
298
|
+
* @returns Object with canRun boolean and reason if false
|
|
299
|
+
*/
|
|
300
|
+
checkCapacity(agentName: string): {
|
|
301
|
+
canRun: boolean;
|
|
302
|
+
reason?: "agent_at_capacity" | "fleet_at_capacity";
|
|
303
|
+
currentRunning: number;
|
|
304
|
+
limit: number;
|
|
305
|
+
};
|
|
306
|
+
/**
|
|
307
|
+
* Enqueue a job or return immediately if capacity is available
|
|
308
|
+
*
|
|
309
|
+
* For scheduled triggers (isScheduled: true), jobs are NOT queued.
|
|
310
|
+
* Instead, a schedule:skipped event is emitted and null is returned.
|
|
311
|
+
*
|
|
312
|
+
* @param options - Enqueue options
|
|
313
|
+
* @returns EnqueueResult if job is queued/ready, or null if scheduled and at capacity
|
|
314
|
+
*/
|
|
315
|
+
enqueue(options: EnqueueOptions): EnqueueResult | null;
|
|
316
|
+
/**
|
|
317
|
+
* Dequeue the next job for an agent
|
|
318
|
+
*
|
|
319
|
+
* Returns the next queued job if one exists, otherwise null.
|
|
320
|
+
* Does NOT check capacity - caller should check capacity first.
|
|
321
|
+
*
|
|
322
|
+
* @param agentName - The agent name
|
|
323
|
+
* @returns The next queued job or null
|
|
324
|
+
*/
|
|
325
|
+
dequeue(agentName: string): QueuedJob | null;
|
|
326
|
+
/**
|
|
327
|
+
* Peek at the next job in the queue without removing it
|
|
328
|
+
*
|
|
329
|
+
* @param agentName - The agent name
|
|
330
|
+
* @returns The next queued job or null
|
|
331
|
+
*/
|
|
332
|
+
peek(agentName: string): QueuedJob | null;
|
|
333
|
+
/**
|
|
334
|
+
* Remove a specific job from the queue
|
|
335
|
+
*
|
|
336
|
+
* @param jobId - The job ID to remove
|
|
337
|
+
* @returns true if the job was found and removed
|
|
338
|
+
*/
|
|
339
|
+
remove(jobId: string): boolean;
|
|
340
|
+
/**
|
|
341
|
+
* Mark a job as running for an agent
|
|
342
|
+
*
|
|
343
|
+
* @param agentName - The agent name
|
|
344
|
+
* @param jobId - The job ID
|
|
345
|
+
*/
|
|
346
|
+
markRunning(agentName: string, jobId: string): void;
|
|
347
|
+
/**
|
|
348
|
+
* Mark a job as completed for an agent
|
|
349
|
+
*
|
|
350
|
+
* This frees up capacity and may allow queued jobs to run.
|
|
351
|
+
*
|
|
352
|
+
* @param agentName - The agent name
|
|
353
|
+
* @param jobId - The job ID
|
|
354
|
+
*/
|
|
355
|
+
markCompleted(agentName: string, jobId: string): void;
|
|
356
|
+
/**
|
|
357
|
+
* Get the number of running jobs for an agent
|
|
358
|
+
*
|
|
359
|
+
* @param agentName - The agent name
|
|
360
|
+
* @returns Number of currently running jobs
|
|
361
|
+
*/
|
|
362
|
+
getRunningCount(agentName: string): number;
|
|
363
|
+
/**
|
|
364
|
+
* Get the total number of running jobs across all agents
|
|
365
|
+
*
|
|
366
|
+
* @returns Total running job count
|
|
367
|
+
*/
|
|
368
|
+
getTotalRunningCount(): number;
|
|
369
|
+
/**
|
|
370
|
+
* Get the IDs of running jobs for an agent
|
|
371
|
+
*
|
|
372
|
+
* @param agentName - The agent name
|
|
373
|
+
* @returns Set of running job IDs
|
|
374
|
+
*/
|
|
375
|
+
getRunningJobIds(agentName: string): Set<string>;
|
|
376
|
+
/**
|
|
377
|
+
* Get the queue status for a specific agent
|
|
378
|
+
*
|
|
379
|
+
* @param agentName - The agent name
|
|
380
|
+
* @returns Agent queue status
|
|
381
|
+
*/
|
|
382
|
+
getAgentQueueStatus(agentName: string): AgentQueueStatus;
|
|
383
|
+
/**
|
|
384
|
+
* Get the overall queue status
|
|
385
|
+
*
|
|
386
|
+
* @returns Overall queue status with per-agent details
|
|
387
|
+
*/
|
|
388
|
+
getQueueStatus(): QueueStatus;
|
|
389
|
+
/**
|
|
390
|
+
* Get the queue depth (number of queued jobs) for an agent
|
|
391
|
+
*
|
|
392
|
+
* @param agentName - The agent name
|
|
393
|
+
* @returns Number of queued jobs
|
|
394
|
+
*/
|
|
395
|
+
getQueueDepth(agentName: string): number;
|
|
396
|
+
/**
|
|
397
|
+
* Get the total queue depth across all agents
|
|
398
|
+
*
|
|
399
|
+
* @returns Total number of queued jobs
|
|
400
|
+
*/
|
|
401
|
+
getTotalQueueDepth(): number;
|
|
402
|
+
/**
|
|
403
|
+
* Clear all queued jobs (does not affect running jobs)
|
|
404
|
+
*/
|
|
405
|
+
clearQueue(): void;
|
|
406
|
+
/**
|
|
407
|
+
* Clear queued jobs for a specific agent
|
|
408
|
+
*
|
|
409
|
+
* @param agentName - The agent name
|
|
410
|
+
* @returns Number of jobs cleared
|
|
411
|
+
*/
|
|
412
|
+
clearAgentQueue(agentName: string): number;
|
|
413
|
+
/**
|
|
414
|
+
* Reset all state (running jobs, queued jobs, concurrency limits)
|
|
415
|
+
*/
|
|
416
|
+
reset(): void;
|
|
417
|
+
/**
|
|
418
|
+
* Generate a unique job ID
|
|
419
|
+
*/
|
|
420
|
+
private generateJobId;
|
|
421
|
+
}
|
|
422
|
+
//# sourceMappingURL=job-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-queue.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/job-queue.ts"],"names":[],"mappings":"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"}
|