@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 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler.test.js","sourceRoot":"","sources":["../../../src/scheduler/__tests__/scheduler.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error classes for scheduler module
|
|
3
|
+
*
|
|
4
|
+
* Provides typed errors with descriptive messages for scheduler operations.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Base error class for all scheduler errors
|
|
8
|
+
*/
|
|
9
|
+
export declare class SchedulerError extends Error {
|
|
10
|
+
constructor(message: string, options?: {
|
|
11
|
+
cause?: Error;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Error thrown when an interval string cannot be parsed
|
|
16
|
+
*
|
|
17
|
+
* This error provides detailed information about what went wrong during parsing,
|
|
18
|
+
* including the invalid input and suggestions for valid formats.
|
|
19
|
+
*/
|
|
20
|
+
export declare class IntervalParseError extends SchedulerError {
|
|
21
|
+
/** The original input string that failed to parse */
|
|
22
|
+
readonly input: string;
|
|
23
|
+
constructor(message: string, input: string, options?: {
|
|
24
|
+
cause?: Error;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Error thrown when a schedule trigger fails during execution
|
|
29
|
+
*
|
|
30
|
+
* This error wraps the underlying cause and provides context about which
|
|
31
|
+
* agent and schedule encountered the error. It is used internally by the
|
|
32
|
+
* Scheduler to capture and report trigger failures while allowing the
|
|
33
|
+
* scheduler to continue processing other schedules.
|
|
34
|
+
*/
|
|
35
|
+
export declare class ScheduleTriggerError extends SchedulerError {
|
|
36
|
+
/** The name of the agent that owns the schedule */
|
|
37
|
+
readonly agentName: string;
|
|
38
|
+
/** The name of the schedule that failed */
|
|
39
|
+
readonly scheduleName: string;
|
|
40
|
+
constructor(message: string, agentName: string, scheduleName: string, options?: {
|
|
41
|
+
cause?: Error;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Error thrown when scheduler shutdown encounters issues
|
|
46
|
+
*
|
|
47
|
+
* This error is thrown when the scheduler cannot shut down cleanly,
|
|
48
|
+
* typically due to running jobs not completing within the configured timeout.
|
|
49
|
+
*/
|
|
50
|
+
export declare class SchedulerShutdownError extends SchedulerError {
|
|
51
|
+
/** Whether the shutdown timed out waiting for jobs to complete */
|
|
52
|
+
readonly timedOut: boolean;
|
|
53
|
+
/** Number of jobs that were still running when shutdown completed/timed out */
|
|
54
|
+
readonly runningJobCount: number;
|
|
55
|
+
constructor(message: string, options: {
|
|
56
|
+
timedOut: boolean;
|
|
57
|
+
runningJobCount: number;
|
|
58
|
+
cause?: Error;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/scheduler/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAKzD;AAMD;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,qDAAqD;IACrD,SAAgB,KAAK,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAKxE;AAMD;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,mDAAmD;IACnD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,2CAA2C;IAC3C,SAAgB,YAAY,EAAE,MAAM,CAAC;gBAGnC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAO9B;AAMD;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,kEAAkE;IAClE,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAElC,+EAA+E;IAC/E,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAGtC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAOzE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error classes for scheduler module
|
|
3
|
+
*
|
|
4
|
+
* Provides typed errors with descriptive messages for scheduler operations.
|
|
5
|
+
*/
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// Base Error Class
|
|
8
|
+
// =============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Base error class for all scheduler errors
|
|
11
|
+
*/
|
|
12
|
+
export class SchedulerError extends Error {
|
|
13
|
+
constructor(message, options) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.name = "SchedulerError";
|
|
16
|
+
this.cause = options?.cause;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// =============================================================================
|
|
20
|
+
// Interval Parse Errors
|
|
21
|
+
// =============================================================================
|
|
22
|
+
/**
|
|
23
|
+
* Error thrown when an interval string cannot be parsed
|
|
24
|
+
*
|
|
25
|
+
* This error provides detailed information about what went wrong during parsing,
|
|
26
|
+
* including the invalid input and suggestions for valid formats.
|
|
27
|
+
*/
|
|
28
|
+
export class IntervalParseError extends SchedulerError {
|
|
29
|
+
/** The original input string that failed to parse */
|
|
30
|
+
input;
|
|
31
|
+
constructor(message, input, options) {
|
|
32
|
+
super(message, options);
|
|
33
|
+
this.name = "IntervalParseError";
|
|
34
|
+
this.input = input;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// =============================================================================
|
|
38
|
+
// Schedule Trigger Errors
|
|
39
|
+
// =============================================================================
|
|
40
|
+
/**
|
|
41
|
+
* Error thrown when a schedule trigger fails during execution
|
|
42
|
+
*
|
|
43
|
+
* This error wraps the underlying cause and provides context about which
|
|
44
|
+
* agent and schedule encountered the error. It is used internally by the
|
|
45
|
+
* Scheduler to capture and report trigger failures while allowing the
|
|
46
|
+
* scheduler to continue processing other schedules.
|
|
47
|
+
*/
|
|
48
|
+
export class ScheduleTriggerError extends SchedulerError {
|
|
49
|
+
/** The name of the agent that owns the schedule */
|
|
50
|
+
agentName;
|
|
51
|
+
/** The name of the schedule that failed */
|
|
52
|
+
scheduleName;
|
|
53
|
+
constructor(message, agentName, scheduleName, options) {
|
|
54
|
+
super(message, options);
|
|
55
|
+
this.name = "ScheduleTriggerError";
|
|
56
|
+
this.agentName = agentName;
|
|
57
|
+
this.scheduleName = scheduleName;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// =============================================================================
|
|
61
|
+
// Scheduler Shutdown Errors
|
|
62
|
+
// =============================================================================
|
|
63
|
+
/**
|
|
64
|
+
* Error thrown when scheduler shutdown encounters issues
|
|
65
|
+
*
|
|
66
|
+
* This error is thrown when the scheduler cannot shut down cleanly,
|
|
67
|
+
* typically due to running jobs not completing within the configured timeout.
|
|
68
|
+
*/
|
|
69
|
+
export class SchedulerShutdownError extends SchedulerError {
|
|
70
|
+
/** Whether the shutdown timed out waiting for jobs to complete */
|
|
71
|
+
timedOut;
|
|
72
|
+
/** Number of jobs that were still running when shutdown completed/timed out */
|
|
73
|
+
runningJobCount;
|
|
74
|
+
constructor(message, options) {
|
|
75
|
+
super(message, { cause: options.cause });
|
|
76
|
+
this.name = "SchedulerShutdownError";
|
|
77
|
+
this.timedOut = options.timedOut;
|
|
78
|
+
this.runningJobCount = options.runningJobCount;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/scheduler/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAE,OAA2B;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC9B,CAAC;CACF;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IACpD,qDAAqD;IACrC,KAAK,CAAS;IAE9B,YAAY,OAAe,EAAE,KAAa,EAAE,OAA2B;QACrE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAqB,SAAQ,cAAc;IACtD,mDAAmD;IACnC,SAAS,CAAS;IAElC,2CAA2C;IAC3B,YAAY,CAAS;IAErC,YACE,OAAe,EACf,SAAiB,EACjB,YAAoB,EACpB,OAA2B;QAE3B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,kEAAkE;IAClD,QAAQ,CAAU;IAElC,+EAA+E;IAC/D,eAAe,CAAS;IAExC,YACE,OAAe,EACf,OAAsE;QAEtE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scheduler module for herdctl
|
|
3
|
+
*
|
|
4
|
+
* Provides interval parsing, scheduling utilities, and the Scheduler class
|
|
5
|
+
* for agent fleet management.
|
|
6
|
+
*/
|
|
7
|
+
export * from "./errors.js";
|
|
8
|
+
export { parseInterval, calculateNextTrigger, isScheduleDue, } from "./interval.js";
|
|
9
|
+
export { getScheduleState, updateScheduleState, getAgentScheduleStates, type ScheduleStateLogger, type ScheduleStateOptions, type ScheduleStateUpdates, } from "./schedule-state.js";
|
|
10
|
+
export type { SchedulerOptions, SchedulerStatus, SchedulerState, SchedulerLogger, ScheduleCheckResult, ScheduleSkipReason, TriggerInfo, SchedulerTriggerCallback, AgentScheduleInfo, StopOptions, } from "./types.js";
|
|
11
|
+
export { Scheduler } from "./scheduler.js";
|
|
12
|
+
export { runSchedule, buildSchedulePrompt, type RunScheduleOptions, type ScheduleRunResult, type ScheduleRunnerLogger, type TriggerMetadata, } from "./schedule-runner.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,aAAa,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scheduler module for herdctl
|
|
3
|
+
*
|
|
4
|
+
* Provides interval parsing, scheduling utilities, and the Scheduler class
|
|
5
|
+
* for agent fleet management.
|
|
6
|
+
*/
|
|
7
|
+
// Errors
|
|
8
|
+
export * from "./errors.js";
|
|
9
|
+
// Interval parsing and scheduling
|
|
10
|
+
export { parseInterval, calculateNextTrigger, isScheduleDue, } from "./interval.js";
|
|
11
|
+
// Schedule state management
|
|
12
|
+
export { getScheduleState, updateScheduleState, getAgentScheduleStates, } from "./schedule-state.js";
|
|
13
|
+
// Scheduler class
|
|
14
|
+
export { Scheduler } from "./scheduler.js";
|
|
15
|
+
// Schedule runner
|
|
16
|
+
export { runSchedule, buildSchedulePrompt, } from "./schedule-runner.js";
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,SAAS;AACT,cAAc,aAAa,CAAC;AAE5B,kCAAkC;AAClC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,4BAA4B;AAC5B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GAIvB,MAAM,qBAAqB,CAAC;AAgB7B,kBAAkB;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,mBAAmB,GAKpB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interval parsing utilities for the scheduler module
|
|
3
|
+
*
|
|
4
|
+
* Parses human-readable interval strings like "5m", "1h", "30s" into milliseconds.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Parse an interval string into milliseconds
|
|
8
|
+
*
|
|
9
|
+
* Supports the format `{number}{unit}` where:
|
|
10
|
+
* - `number` is a positive integer
|
|
11
|
+
* - `unit` is one of: s (seconds), m (minutes), h (hours), d (days)
|
|
12
|
+
*
|
|
13
|
+
* @param interval - The interval string to parse (e.g., "5m", "1h", "30s", "1d")
|
|
14
|
+
* @returns The interval in milliseconds
|
|
15
|
+
* @throws {IntervalParseError} If the interval string is invalid
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* parseInterval("5s") // returns 5000
|
|
19
|
+
* parseInterval("5m") // returns 300000
|
|
20
|
+
* parseInterval("1h") // returns 3600000
|
|
21
|
+
* parseInterval("1d") // returns 86400000
|
|
22
|
+
*/
|
|
23
|
+
export declare function parseInterval(interval: string): number;
|
|
24
|
+
/**
|
|
25
|
+
* Calculate the next trigger time for a schedule
|
|
26
|
+
*
|
|
27
|
+
* @param lastCompletedAt - When the schedule last completed, or null for first run
|
|
28
|
+
* @param interval - The interval string (e.g., "5m", "1h")
|
|
29
|
+
* @param jitterPercent - Optional jitter percentage (0-10) to add randomness and prevent thundering herd
|
|
30
|
+
* @returns The next trigger time as a Date
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* // First run - triggers immediately
|
|
34
|
+
* calculateNextTrigger(null, "5m") // returns now
|
|
35
|
+
*
|
|
36
|
+
* // Subsequent run - triggers after interval
|
|
37
|
+
* calculateNextTrigger(new Date("2024-01-01T00:00:00Z"), "5m")
|
|
38
|
+
* // returns 2024-01-01T00:05:00Z (plus optional jitter)
|
|
39
|
+
*
|
|
40
|
+
* // With jitter to prevent thundering herd
|
|
41
|
+
* calculateNextTrigger(lastRun, "1h", 5) // adds 0-5% jitter to interval
|
|
42
|
+
*/
|
|
43
|
+
export declare function calculateNextTrigger(lastCompletedAt: Date | null, interval: string, jitterPercent?: number): Date;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a schedule is due to run
|
|
46
|
+
*
|
|
47
|
+
* @param nextRunAt - The scheduled next run time
|
|
48
|
+
* @param now - Optional current time (defaults to new Date())
|
|
49
|
+
* @returns true if the schedule is due (nextRunAt <= now)
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* const nextRun = new Date("2024-01-01T00:05:00Z");
|
|
53
|
+
*
|
|
54
|
+
* // Before scheduled time
|
|
55
|
+
* isScheduleDue(nextRun, new Date("2024-01-01T00:04:00Z")) // false
|
|
56
|
+
*
|
|
57
|
+
* // At scheduled time
|
|
58
|
+
* isScheduleDue(nextRun, new Date("2024-01-01T00:05:00Z")) // true
|
|
59
|
+
*
|
|
60
|
+
* // After scheduled time
|
|
61
|
+
* isScheduleDue(nextRun, new Date("2024-01-01T00:06:00Z")) // true
|
|
62
|
+
*/
|
|
63
|
+
export declare function isScheduleDue(nextRunAt: Date, now?: Date): boolean;
|
|
64
|
+
//# sourceMappingURL=interval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval.d.ts","sourceRoot":"","sources":["../../src/scheduler/interval.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAwEtD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,IAAI,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CA2BN;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAGlE"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interval parsing utilities for the scheduler module
|
|
3
|
+
*
|
|
4
|
+
* Parses human-readable interval strings like "5m", "1h", "30s" into milliseconds.
|
|
5
|
+
*/
|
|
6
|
+
import { IntervalParseError } from "./errors.js";
|
|
7
|
+
/**
|
|
8
|
+
* Multipliers to convert time units to milliseconds
|
|
9
|
+
*/
|
|
10
|
+
const UNIT_MULTIPLIERS = {
|
|
11
|
+
s: 1000, // seconds
|
|
12
|
+
m: 60 * 1000, // minutes
|
|
13
|
+
h: 60 * 60 * 1000, // hours
|
|
14
|
+
d: 24 * 60 * 60 * 1000, // days
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Valid time units
|
|
18
|
+
*/
|
|
19
|
+
const VALID_UNITS = Object.keys(UNIT_MULTIPLIERS);
|
|
20
|
+
/**
|
|
21
|
+
* Parse an interval string into milliseconds
|
|
22
|
+
*
|
|
23
|
+
* Supports the format `{number}{unit}` where:
|
|
24
|
+
* - `number` is a positive integer
|
|
25
|
+
* - `unit` is one of: s (seconds), m (minutes), h (hours), d (days)
|
|
26
|
+
*
|
|
27
|
+
* @param interval - The interval string to parse (e.g., "5m", "1h", "30s", "1d")
|
|
28
|
+
* @returns The interval in milliseconds
|
|
29
|
+
* @throws {IntervalParseError} If the interval string is invalid
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* parseInterval("5s") // returns 5000
|
|
33
|
+
* parseInterval("5m") // returns 300000
|
|
34
|
+
* parseInterval("1h") // returns 3600000
|
|
35
|
+
* parseInterval("1d") // returns 86400000
|
|
36
|
+
*/
|
|
37
|
+
export function parseInterval(interval) {
|
|
38
|
+
// Handle empty string
|
|
39
|
+
if (!interval || interval.trim() === "") {
|
|
40
|
+
throw new IntervalParseError('Interval cannot be empty. Expected format: "{number}{unit}" where unit is s/m/h/d (e.g., "5m", "1h")', interval);
|
|
41
|
+
}
|
|
42
|
+
const trimmed = interval.trim();
|
|
43
|
+
// Match the pattern: optional whitespace, digits, optional whitespace, unit letter
|
|
44
|
+
const match = trimmed.match(/^(-?\d+)\s*([a-zA-Z]+)$/);
|
|
45
|
+
if (!match) {
|
|
46
|
+
// Check for common error patterns to provide better error messages
|
|
47
|
+
if (/^\d+$/.test(trimmed)) {
|
|
48
|
+
throw new IntervalParseError(`Missing time unit in interval "${interval}". Expected format: "{number}{unit}" where unit is s/m/h/d (e.g., "5m", "1h")`, interval);
|
|
49
|
+
}
|
|
50
|
+
if (/^[a-zA-Z]+$/.test(trimmed)) {
|
|
51
|
+
throw new IntervalParseError(`Missing numeric value in interval "${interval}". Expected format: "{number}{unit}" where unit is s/m/h/d (e.g., "5m", "1h")`, interval);
|
|
52
|
+
}
|
|
53
|
+
if (/\d+\.\d+/.test(trimmed)) {
|
|
54
|
+
throw new IntervalParseError(`Decimal values are not supported in interval "${interval}". Use integers only (e.g., "5m" instead of "5.5m")`, interval);
|
|
55
|
+
}
|
|
56
|
+
throw new IntervalParseError(`Invalid interval format "${interval}". Expected format: "{number}{unit}" where unit is s/m/h/d (e.g., "5m", "1h")`, interval);
|
|
57
|
+
}
|
|
58
|
+
const [, valueStr, unit] = match;
|
|
59
|
+
const value = parseInt(valueStr, 10);
|
|
60
|
+
const normalizedUnit = unit.toLowerCase();
|
|
61
|
+
// Check for negative numbers
|
|
62
|
+
if (value < 0) {
|
|
63
|
+
throw new IntervalParseError(`Negative intervals are not allowed: "${interval}". Use a positive integer value`, interval);
|
|
64
|
+
}
|
|
65
|
+
// Check for zero
|
|
66
|
+
if (value === 0) {
|
|
67
|
+
throw new IntervalParseError(`Zero interval is not allowed: "${interval}". Use a positive integer value`, interval);
|
|
68
|
+
}
|
|
69
|
+
// Check for valid unit
|
|
70
|
+
if (!VALID_UNITS.includes(normalizedUnit)) {
|
|
71
|
+
throw new IntervalParseError(`Invalid time unit "${unit}" in interval "${interval}". Valid units are: s (seconds), m (minutes), h (hours), d (days)`, interval);
|
|
72
|
+
}
|
|
73
|
+
return value * UNIT_MULTIPLIERS[normalizedUnit];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Calculate the next trigger time for a schedule
|
|
77
|
+
*
|
|
78
|
+
* @param lastCompletedAt - When the schedule last completed, or null for first run
|
|
79
|
+
* @param interval - The interval string (e.g., "5m", "1h")
|
|
80
|
+
* @param jitterPercent - Optional jitter percentage (0-10) to add randomness and prevent thundering herd
|
|
81
|
+
* @returns The next trigger time as a Date
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* // First run - triggers immediately
|
|
85
|
+
* calculateNextTrigger(null, "5m") // returns now
|
|
86
|
+
*
|
|
87
|
+
* // Subsequent run - triggers after interval
|
|
88
|
+
* calculateNextTrigger(new Date("2024-01-01T00:00:00Z"), "5m")
|
|
89
|
+
* // returns 2024-01-01T00:05:00Z (plus optional jitter)
|
|
90
|
+
*
|
|
91
|
+
* // With jitter to prevent thundering herd
|
|
92
|
+
* calculateNextTrigger(lastRun, "1h", 5) // adds 0-5% jitter to interval
|
|
93
|
+
*/
|
|
94
|
+
export function calculateNextTrigger(lastCompletedAt, interval, jitterPercent) {
|
|
95
|
+
const now = new Date();
|
|
96
|
+
// If no previous run, trigger immediately
|
|
97
|
+
if (lastCompletedAt === null) {
|
|
98
|
+
return now;
|
|
99
|
+
}
|
|
100
|
+
const intervalMs = parseInterval(interval);
|
|
101
|
+
// Calculate jitter if specified
|
|
102
|
+
let jitterMs = 0;
|
|
103
|
+
if (jitterPercent !== undefined && jitterPercent > 0) {
|
|
104
|
+
// Clamp jitter to 0-10%
|
|
105
|
+
const clampedJitter = Math.min(Math.max(jitterPercent, 0), 10);
|
|
106
|
+
// Random jitter between 0 and clampedJitter% of interval
|
|
107
|
+
jitterMs = Math.floor(Math.random() * (intervalMs * clampedJitter) / 100);
|
|
108
|
+
}
|
|
109
|
+
const nextTrigger = new Date(lastCompletedAt.getTime() + intervalMs + jitterMs);
|
|
110
|
+
// Handle clock skew: if next trigger is in the past, trigger now
|
|
111
|
+
if (nextTrigger.getTime() < now.getTime()) {
|
|
112
|
+
return now;
|
|
113
|
+
}
|
|
114
|
+
return nextTrigger;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Check if a schedule is due to run
|
|
118
|
+
*
|
|
119
|
+
* @param nextRunAt - The scheduled next run time
|
|
120
|
+
* @param now - Optional current time (defaults to new Date())
|
|
121
|
+
* @returns true if the schedule is due (nextRunAt <= now)
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* const nextRun = new Date("2024-01-01T00:05:00Z");
|
|
125
|
+
*
|
|
126
|
+
* // Before scheduled time
|
|
127
|
+
* isScheduleDue(nextRun, new Date("2024-01-01T00:04:00Z")) // false
|
|
128
|
+
*
|
|
129
|
+
* // At scheduled time
|
|
130
|
+
* isScheduleDue(nextRun, new Date("2024-01-01T00:05:00Z")) // true
|
|
131
|
+
*
|
|
132
|
+
* // After scheduled time
|
|
133
|
+
* isScheduleDue(nextRun, new Date("2024-01-01T00:06:00Z")) // true
|
|
134
|
+
*/
|
|
135
|
+
export function isScheduleDue(nextRunAt, now) {
|
|
136
|
+
const currentTime = now ?? new Date();
|
|
137
|
+
return nextRunAt.getTime() <= currentTime.getTime();
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=interval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval.js","sourceRoot":"","sources":["../../src/scheduler/interval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schedule Runner for executing triggered schedules
|
|
3
|
+
*
|
|
4
|
+
* Handles the actual execution of scheduled work by:
|
|
5
|
+
* 1. Fetching work items from work sources (if configured)
|
|
6
|
+
* 2. Building prompts from schedule config and work items
|
|
7
|
+
* 3. Invoking the JobExecutor to run the agent
|
|
8
|
+
* 4. Updating schedule state and reporting outcomes
|
|
9
|
+
*/
|
|
10
|
+
import type { ResolvedAgent, Schedule } from "../config/index.js";
|
|
11
|
+
import type { ScheduleState } from "../state/schemas/fleet-state.js";
|
|
12
|
+
import type { RunnerResult, SDKQueryFunction } from "../runner/index.js";
|
|
13
|
+
import type { WorkSourceManager, WorkItem } from "../work-sources/index.js";
|
|
14
|
+
import { type JobExecutorOptions } from "../runner/index.js";
|
|
15
|
+
/**
|
|
16
|
+
* Logger interface for schedule runner
|
|
17
|
+
*/
|
|
18
|
+
export interface ScheduleRunnerLogger {
|
|
19
|
+
debug: (message: string) => void;
|
|
20
|
+
info: (message: string) => void;
|
|
21
|
+
warn: (message: string) => void;
|
|
22
|
+
error: (message: string) => void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Trigger metadata passed to the JobExecutor
|
|
26
|
+
*/
|
|
27
|
+
export interface TriggerMetadata {
|
|
28
|
+
/** The type of trigger */
|
|
29
|
+
triggerType: "interval";
|
|
30
|
+
/** The name of the schedule that triggered */
|
|
31
|
+
schedule: string;
|
|
32
|
+
/** Work item ID if this run is processing a work item */
|
|
33
|
+
workItemId?: string;
|
|
34
|
+
/** Work item title for reference */
|
|
35
|
+
workItemTitle?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Options for running a schedule
|
|
39
|
+
*/
|
|
40
|
+
export interface RunScheduleOptions {
|
|
41
|
+
/** The agent to run */
|
|
42
|
+
agent: ResolvedAgent;
|
|
43
|
+
/** The name of the schedule */
|
|
44
|
+
scheduleName: string;
|
|
45
|
+
/** The schedule configuration */
|
|
46
|
+
schedule: Schedule;
|
|
47
|
+
/** Current schedule state */
|
|
48
|
+
scheduleState: ScheduleState;
|
|
49
|
+
/** Path to the state directory (e.g., .herdctl) */
|
|
50
|
+
stateDir: string;
|
|
51
|
+
/** The SDK query function for agent execution */
|
|
52
|
+
sdkQuery: SDKQueryFunction;
|
|
53
|
+
/** Optional work source manager for fetching work items */
|
|
54
|
+
workSourceManager?: WorkSourceManager;
|
|
55
|
+
/** Optional logger */
|
|
56
|
+
logger?: ScheduleRunnerLogger;
|
|
57
|
+
/** Optional job executor options */
|
|
58
|
+
executorOptions?: JobExecutorOptions;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Result of running a schedule, extending RunnerResult with schedule-specific info
|
|
62
|
+
*/
|
|
63
|
+
export interface ScheduleRunResult extends RunnerResult {
|
|
64
|
+
/** The work item that was processed (if any) */
|
|
65
|
+
workItem?: WorkItem;
|
|
66
|
+
/** Whether a work item was fetched and processed */
|
|
67
|
+
processedWorkItem: boolean;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Build the prompt for a scheduled run
|
|
71
|
+
*
|
|
72
|
+
* Constructs the prompt by combining:
|
|
73
|
+
* 1. The schedule's configured prompt (if any)
|
|
74
|
+
* 2. Work item details (if a work item was fetched)
|
|
75
|
+
*
|
|
76
|
+
* @param schedule - The schedule configuration
|
|
77
|
+
* @param workItem - Optional work item fetched from work source
|
|
78
|
+
* @returns The constructed prompt string
|
|
79
|
+
*
|
|
80
|
+
* @example Without work item
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const prompt = buildSchedulePrompt(
|
|
83
|
+
* { type: 'interval', interval: '1h', prompt: 'Check for updates' }
|
|
84
|
+
* );
|
|
85
|
+
* // => "Check for updates"
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @example With work item
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const prompt = buildSchedulePrompt(
|
|
91
|
+
* { type: 'interval', interval: '1h', prompt: 'Process this issue:' },
|
|
92
|
+
* { title: 'Fix bug', description: 'There is a bug in auth.ts', ... }
|
|
93
|
+
* );
|
|
94
|
+
* // => "Process this issue:\n\n## Work Item: Fix bug\n\nThere is a bug in auth.ts\n\n..."
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare function buildSchedulePrompt(schedule: Schedule, workItem?: WorkItem): string;
|
|
98
|
+
/**
|
|
99
|
+
* Execute a triggered schedule
|
|
100
|
+
*
|
|
101
|
+
* This function handles the complete lifecycle of a scheduled execution:
|
|
102
|
+
* 1. Updates schedule state to 'running'
|
|
103
|
+
* 2. Fetches work item from work source (if configured)
|
|
104
|
+
* 3. Builds the prompt from schedule config and work item
|
|
105
|
+
* 4. Invokes the JobExecutor to run the agent
|
|
106
|
+
* 5. Reports outcome to work source (if applicable)
|
|
107
|
+
* 6. Updates schedule state with last_run_at and next_run_at
|
|
108
|
+
*
|
|
109
|
+
* @param options - Options for running the schedule
|
|
110
|
+
* @returns Result of the schedule execution
|
|
111
|
+
*
|
|
112
|
+
* @example Basic usage
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const result = await runSchedule({
|
|
115
|
+
* agent: resolvedAgent,
|
|
116
|
+
* scheduleName: 'hourly',
|
|
117
|
+
* schedule: { type: 'interval', interval: '1h', prompt: 'Check status' },
|
|
118
|
+
* scheduleState: { status: 'idle', last_run_at: null },
|
|
119
|
+
* stateDir: '.herdctl',
|
|
120
|
+
* sdkQuery: query,
|
|
121
|
+
* });
|
|
122
|
+
*
|
|
123
|
+
* console.log(`Job ${result.jobId} completed: ${result.success}`);
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* @example With work source
|
|
127
|
+
* ```typescript
|
|
128
|
+
* const result = await runSchedule({
|
|
129
|
+
* agent: resolvedAgent,
|
|
130
|
+
* scheduleName: 'issue-processor',
|
|
131
|
+
* schedule: {
|
|
132
|
+
* type: 'interval',
|
|
133
|
+
* interval: '5m',
|
|
134
|
+
* prompt: 'Process this GitHub issue:',
|
|
135
|
+
* work_source: { type: 'github', owner: 'org', repo: 'repo' }
|
|
136
|
+
* },
|
|
137
|
+
* scheduleState: { status: 'idle', last_run_at: null },
|
|
138
|
+
* stateDir: '.herdctl',
|
|
139
|
+
* sdkQuery: query,
|
|
140
|
+
* workSourceManager: manager,
|
|
141
|
+
* });
|
|
142
|
+
*
|
|
143
|
+
* if (result.workItem) {
|
|
144
|
+
* console.log(`Processed work item: ${result.workItem.title}`);
|
|
145
|
+
* }
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export declare function runSchedule(options: RunScheduleOptions): Promise<ScheduleRunResult>;
|
|
149
|
+
//# sourceMappingURL=schedule-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-runner.d.ts","sourceRoot":"","sources":["../../src/scheduler/schedule-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EAGT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAW1E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,WAAW,EAAE,UAAU,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,6BAA6B;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,sBAAsB;IACtB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,oCAAoC;IACpC,eAAe,CAAC,EAAE,kBAAkB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oDAAoD;IACpD,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CAoBR;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAiL5B"}
|