@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,291 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas for job output messages (job-<id>.jsonl)
|
|
3
|
+
*
|
|
4
|
+
* Defines the schema for streaming job output from Claude SDK.
|
|
5
|
+
* Each line in the JSONL file is a JobOutputMessage.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/**
|
|
9
|
+
* Types of messages from Claude SDK streaming output
|
|
10
|
+
*/
|
|
11
|
+
export declare const JobOutputTypeSchema: z.ZodEnum<["system", "assistant", "tool_use", "tool_result", "error"]>;
|
|
12
|
+
/**
|
|
13
|
+
* Base fields present in all job output messages
|
|
14
|
+
*/
|
|
15
|
+
export declare const JobOutputBaseSchema: z.ZodObject<{
|
|
16
|
+
/** Message type */
|
|
17
|
+
type: z.ZodEnum<["system", "assistant", "tool_use", "tool_result", "error"]>;
|
|
18
|
+
/** ISO timestamp when message was recorded */
|
|
19
|
+
timestamp: z.ZodString;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
type: "error" | "system" | "assistant" | "tool_use" | "tool_result";
|
|
22
|
+
timestamp: string;
|
|
23
|
+
}, {
|
|
24
|
+
type: "error" | "system" | "assistant" | "tool_use" | "tool_result";
|
|
25
|
+
timestamp: string;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* System message schema
|
|
29
|
+
*/
|
|
30
|
+
export declare const SystemMessageSchema: z.ZodObject<{
|
|
31
|
+
timestamp: z.ZodString;
|
|
32
|
+
} & {
|
|
33
|
+
type: z.ZodLiteral<"system">;
|
|
34
|
+
content: z.ZodOptional<z.ZodString>;
|
|
35
|
+
subtype: z.ZodOptional<z.ZodString>;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
type: "system";
|
|
38
|
+
timestamp: string;
|
|
39
|
+
content?: string | undefined;
|
|
40
|
+
subtype?: string | undefined;
|
|
41
|
+
}, {
|
|
42
|
+
type: "system";
|
|
43
|
+
timestamp: string;
|
|
44
|
+
content?: string | undefined;
|
|
45
|
+
subtype?: string | undefined;
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Assistant message schema
|
|
49
|
+
*/
|
|
50
|
+
export declare const AssistantMessageSchema: z.ZodObject<{
|
|
51
|
+
timestamp: z.ZodString;
|
|
52
|
+
} & {
|
|
53
|
+
type: z.ZodLiteral<"assistant">;
|
|
54
|
+
content: z.ZodOptional<z.ZodString>;
|
|
55
|
+
partial: z.ZodOptional<z.ZodBoolean>;
|
|
56
|
+
usage: z.ZodOptional<z.ZodObject<{
|
|
57
|
+
input_tokens: z.ZodOptional<z.ZodNumber>;
|
|
58
|
+
output_tokens: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
}, "strip", z.ZodTypeAny, {
|
|
60
|
+
input_tokens?: number | undefined;
|
|
61
|
+
output_tokens?: number | undefined;
|
|
62
|
+
}, {
|
|
63
|
+
input_tokens?: number | undefined;
|
|
64
|
+
output_tokens?: number | undefined;
|
|
65
|
+
}>>;
|
|
66
|
+
}, "strip", z.ZodTypeAny, {
|
|
67
|
+
type: "assistant";
|
|
68
|
+
timestamp: string;
|
|
69
|
+
partial?: boolean | undefined;
|
|
70
|
+
content?: string | undefined;
|
|
71
|
+
usage?: {
|
|
72
|
+
input_tokens?: number | undefined;
|
|
73
|
+
output_tokens?: number | undefined;
|
|
74
|
+
} | undefined;
|
|
75
|
+
}, {
|
|
76
|
+
type: "assistant";
|
|
77
|
+
timestamp: string;
|
|
78
|
+
partial?: boolean | undefined;
|
|
79
|
+
content?: string | undefined;
|
|
80
|
+
usage?: {
|
|
81
|
+
input_tokens?: number | undefined;
|
|
82
|
+
output_tokens?: number | undefined;
|
|
83
|
+
} | undefined;
|
|
84
|
+
}>;
|
|
85
|
+
/**
|
|
86
|
+
* Tool use message schema
|
|
87
|
+
*/
|
|
88
|
+
export declare const ToolUseMessageSchema: z.ZodObject<{
|
|
89
|
+
timestamp: z.ZodString;
|
|
90
|
+
} & {
|
|
91
|
+
type: z.ZodLiteral<"tool_use">;
|
|
92
|
+
tool_name: z.ZodString;
|
|
93
|
+
tool_use_id: z.ZodOptional<z.ZodString>;
|
|
94
|
+
input: z.ZodOptional<z.ZodUnknown>;
|
|
95
|
+
}, "strip", z.ZodTypeAny, {
|
|
96
|
+
type: "tool_use";
|
|
97
|
+
timestamp: string;
|
|
98
|
+
tool_name: string;
|
|
99
|
+
tool_use_id?: string | undefined;
|
|
100
|
+
input?: unknown;
|
|
101
|
+
}, {
|
|
102
|
+
type: "tool_use";
|
|
103
|
+
timestamp: string;
|
|
104
|
+
tool_name: string;
|
|
105
|
+
tool_use_id?: string | undefined;
|
|
106
|
+
input?: unknown;
|
|
107
|
+
}>;
|
|
108
|
+
/**
|
|
109
|
+
* Tool result message schema
|
|
110
|
+
*/
|
|
111
|
+
export declare const ToolResultMessageSchema: z.ZodObject<{
|
|
112
|
+
timestamp: z.ZodString;
|
|
113
|
+
} & {
|
|
114
|
+
type: z.ZodLiteral<"tool_result">;
|
|
115
|
+
tool_use_id: z.ZodOptional<z.ZodString>;
|
|
116
|
+
result: z.ZodOptional<z.ZodUnknown>;
|
|
117
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
118
|
+
error: z.ZodOptional<z.ZodString>;
|
|
119
|
+
}, "strip", z.ZodTypeAny, {
|
|
120
|
+
type: "tool_result";
|
|
121
|
+
timestamp: string;
|
|
122
|
+
error?: string | undefined;
|
|
123
|
+
success?: boolean | undefined;
|
|
124
|
+
tool_use_id?: string | undefined;
|
|
125
|
+
result?: unknown;
|
|
126
|
+
}, {
|
|
127
|
+
type: "tool_result";
|
|
128
|
+
timestamp: string;
|
|
129
|
+
error?: string | undefined;
|
|
130
|
+
success?: boolean | undefined;
|
|
131
|
+
tool_use_id?: string | undefined;
|
|
132
|
+
result?: unknown;
|
|
133
|
+
}>;
|
|
134
|
+
/**
|
|
135
|
+
* Error message schema
|
|
136
|
+
*/
|
|
137
|
+
export declare const ErrorMessageSchema: z.ZodObject<{
|
|
138
|
+
timestamp: z.ZodString;
|
|
139
|
+
} & {
|
|
140
|
+
type: z.ZodLiteral<"error">;
|
|
141
|
+
message: z.ZodString;
|
|
142
|
+
code: z.ZodOptional<z.ZodString>;
|
|
143
|
+
stack: z.ZodOptional<z.ZodString>;
|
|
144
|
+
}, "strip", z.ZodTypeAny, {
|
|
145
|
+
message: string;
|
|
146
|
+
type: "error";
|
|
147
|
+
timestamp: string;
|
|
148
|
+
code?: string | undefined;
|
|
149
|
+
stack?: string | undefined;
|
|
150
|
+
}, {
|
|
151
|
+
message: string;
|
|
152
|
+
type: "error";
|
|
153
|
+
timestamp: string;
|
|
154
|
+
code?: string | undefined;
|
|
155
|
+
stack?: string | undefined;
|
|
156
|
+
}>;
|
|
157
|
+
/**
|
|
158
|
+
* Schema that validates any job output message type
|
|
159
|
+
*/
|
|
160
|
+
export declare const JobOutputMessageSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
161
|
+
timestamp: z.ZodString;
|
|
162
|
+
} & {
|
|
163
|
+
type: z.ZodLiteral<"system">;
|
|
164
|
+
content: z.ZodOptional<z.ZodString>;
|
|
165
|
+
subtype: z.ZodOptional<z.ZodString>;
|
|
166
|
+
}, "strip", z.ZodTypeAny, {
|
|
167
|
+
type: "system";
|
|
168
|
+
timestamp: string;
|
|
169
|
+
content?: string | undefined;
|
|
170
|
+
subtype?: string | undefined;
|
|
171
|
+
}, {
|
|
172
|
+
type: "system";
|
|
173
|
+
timestamp: string;
|
|
174
|
+
content?: string | undefined;
|
|
175
|
+
subtype?: string | undefined;
|
|
176
|
+
}>, z.ZodObject<{
|
|
177
|
+
timestamp: z.ZodString;
|
|
178
|
+
} & {
|
|
179
|
+
type: z.ZodLiteral<"assistant">;
|
|
180
|
+
content: z.ZodOptional<z.ZodString>;
|
|
181
|
+
partial: z.ZodOptional<z.ZodBoolean>;
|
|
182
|
+
usage: z.ZodOptional<z.ZodObject<{
|
|
183
|
+
input_tokens: z.ZodOptional<z.ZodNumber>;
|
|
184
|
+
output_tokens: z.ZodOptional<z.ZodNumber>;
|
|
185
|
+
}, "strip", z.ZodTypeAny, {
|
|
186
|
+
input_tokens?: number | undefined;
|
|
187
|
+
output_tokens?: number | undefined;
|
|
188
|
+
}, {
|
|
189
|
+
input_tokens?: number | undefined;
|
|
190
|
+
output_tokens?: number | undefined;
|
|
191
|
+
}>>;
|
|
192
|
+
}, "strip", z.ZodTypeAny, {
|
|
193
|
+
type: "assistant";
|
|
194
|
+
timestamp: string;
|
|
195
|
+
partial?: boolean | undefined;
|
|
196
|
+
content?: string | undefined;
|
|
197
|
+
usage?: {
|
|
198
|
+
input_tokens?: number | undefined;
|
|
199
|
+
output_tokens?: number | undefined;
|
|
200
|
+
} | undefined;
|
|
201
|
+
}, {
|
|
202
|
+
type: "assistant";
|
|
203
|
+
timestamp: string;
|
|
204
|
+
partial?: boolean | undefined;
|
|
205
|
+
content?: string | undefined;
|
|
206
|
+
usage?: {
|
|
207
|
+
input_tokens?: number | undefined;
|
|
208
|
+
output_tokens?: number | undefined;
|
|
209
|
+
} | undefined;
|
|
210
|
+
}>, z.ZodObject<{
|
|
211
|
+
timestamp: z.ZodString;
|
|
212
|
+
} & {
|
|
213
|
+
type: z.ZodLiteral<"tool_use">;
|
|
214
|
+
tool_name: z.ZodString;
|
|
215
|
+
tool_use_id: z.ZodOptional<z.ZodString>;
|
|
216
|
+
input: z.ZodOptional<z.ZodUnknown>;
|
|
217
|
+
}, "strip", z.ZodTypeAny, {
|
|
218
|
+
type: "tool_use";
|
|
219
|
+
timestamp: string;
|
|
220
|
+
tool_name: string;
|
|
221
|
+
tool_use_id?: string | undefined;
|
|
222
|
+
input?: unknown;
|
|
223
|
+
}, {
|
|
224
|
+
type: "tool_use";
|
|
225
|
+
timestamp: string;
|
|
226
|
+
tool_name: string;
|
|
227
|
+
tool_use_id?: string | undefined;
|
|
228
|
+
input?: unknown;
|
|
229
|
+
}>, z.ZodObject<{
|
|
230
|
+
timestamp: z.ZodString;
|
|
231
|
+
} & {
|
|
232
|
+
type: z.ZodLiteral<"tool_result">;
|
|
233
|
+
tool_use_id: z.ZodOptional<z.ZodString>;
|
|
234
|
+
result: z.ZodOptional<z.ZodUnknown>;
|
|
235
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
236
|
+
error: z.ZodOptional<z.ZodString>;
|
|
237
|
+
}, "strip", z.ZodTypeAny, {
|
|
238
|
+
type: "tool_result";
|
|
239
|
+
timestamp: string;
|
|
240
|
+
error?: string | undefined;
|
|
241
|
+
success?: boolean | undefined;
|
|
242
|
+
tool_use_id?: string | undefined;
|
|
243
|
+
result?: unknown;
|
|
244
|
+
}, {
|
|
245
|
+
type: "tool_result";
|
|
246
|
+
timestamp: string;
|
|
247
|
+
error?: string | undefined;
|
|
248
|
+
success?: boolean | undefined;
|
|
249
|
+
tool_use_id?: string | undefined;
|
|
250
|
+
result?: unknown;
|
|
251
|
+
}>, z.ZodObject<{
|
|
252
|
+
timestamp: z.ZodString;
|
|
253
|
+
} & {
|
|
254
|
+
type: z.ZodLiteral<"error">;
|
|
255
|
+
message: z.ZodString;
|
|
256
|
+
code: z.ZodOptional<z.ZodString>;
|
|
257
|
+
stack: z.ZodOptional<z.ZodString>;
|
|
258
|
+
}, "strip", z.ZodTypeAny, {
|
|
259
|
+
message: string;
|
|
260
|
+
type: "error";
|
|
261
|
+
timestamp: string;
|
|
262
|
+
code?: string | undefined;
|
|
263
|
+
stack?: string | undefined;
|
|
264
|
+
}, {
|
|
265
|
+
message: string;
|
|
266
|
+
type: "error";
|
|
267
|
+
timestamp: string;
|
|
268
|
+
code?: string | undefined;
|
|
269
|
+
stack?: string | undefined;
|
|
270
|
+
}>]>;
|
|
271
|
+
export type JobOutputType = z.infer<typeof JobOutputTypeSchema>;
|
|
272
|
+
export type JobOutputBase = z.infer<typeof JobOutputBaseSchema>;
|
|
273
|
+
export type SystemMessage = z.infer<typeof SystemMessageSchema>;
|
|
274
|
+
export type AssistantMessage = z.infer<typeof AssistantMessageSchema>;
|
|
275
|
+
export type ToolUseMessage = z.infer<typeof ToolUseMessageSchema>;
|
|
276
|
+
export type ToolResultMessage = z.infer<typeof ToolResultMessageSchema>;
|
|
277
|
+
export type ErrorMessage = z.infer<typeof ErrorMessageSchema>;
|
|
278
|
+
export type JobOutputMessage = z.infer<typeof JobOutputMessageSchema>;
|
|
279
|
+
/**
|
|
280
|
+
* Input type for appending messages (timestamp added automatically)
|
|
281
|
+
*/
|
|
282
|
+
export type JobOutputInput = Omit<SystemMessage, "timestamp"> | Omit<AssistantMessage, "timestamp"> | Omit<ToolUseMessage, "timestamp"> | Omit<ToolResultMessage, "timestamp"> | Omit<ErrorMessage, "timestamp">;
|
|
283
|
+
/**
|
|
284
|
+
* Validate a job output message
|
|
285
|
+
*/
|
|
286
|
+
export declare function validateJobOutputMessage(message: unknown): JobOutputMessage | null;
|
|
287
|
+
/**
|
|
288
|
+
* Check if a message has the minimum required fields
|
|
289
|
+
*/
|
|
290
|
+
export declare function isValidJobOutputInput(input: unknown): input is JobOutputInput;
|
|
291
|
+
//# sourceMappingURL=job-output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-output.d.ts","sourceRoot":"","sources":["../../../src/state/schemas/job-output.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,mBAAmB,wEAM9B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B,mBAAmB;;IAEnB,8CAA8C;;;;;;;;EAE9C,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAajC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;EAQ/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;EAUlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;EAQ7B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMjC,CAAC;AAMH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GAChC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GACnC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GACjC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GACpC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAEpC;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,GACf,gBAAgB,GAAG,IAAI,CAGzB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAS7E"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas for job output messages (job-<id>.jsonl)
|
|
3
|
+
*
|
|
4
|
+
* Defines the schema for streaming job output from Claude SDK.
|
|
5
|
+
* Each line in the JSONL file is a JobOutputMessage.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Message Type Schema
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Types of messages from Claude SDK streaming output
|
|
13
|
+
*/
|
|
14
|
+
export const JobOutputTypeSchema = z.enum([
|
|
15
|
+
"system",
|
|
16
|
+
"assistant",
|
|
17
|
+
"tool_use",
|
|
18
|
+
"tool_result",
|
|
19
|
+
"error",
|
|
20
|
+
]);
|
|
21
|
+
// =============================================================================
|
|
22
|
+
// Base Message Schema
|
|
23
|
+
// =============================================================================
|
|
24
|
+
/**
|
|
25
|
+
* Base fields present in all job output messages
|
|
26
|
+
*/
|
|
27
|
+
export const JobOutputBaseSchema = z.object({
|
|
28
|
+
/** Message type */
|
|
29
|
+
type: JobOutputTypeSchema,
|
|
30
|
+
/** ISO timestamp when message was recorded */
|
|
31
|
+
timestamp: z.string(),
|
|
32
|
+
});
|
|
33
|
+
// =============================================================================
|
|
34
|
+
// Specific Message Type Schemas
|
|
35
|
+
// =============================================================================
|
|
36
|
+
/**
|
|
37
|
+
* System message schema
|
|
38
|
+
*/
|
|
39
|
+
export const SystemMessageSchema = JobOutputBaseSchema.extend({
|
|
40
|
+
type: z.literal("system"),
|
|
41
|
+
/** System message content */
|
|
42
|
+
content: z.string().optional(),
|
|
43
|
+
/** Optional subtype for system messages */
|
|
44
|
+
subtype: z.string().optional(),
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* Assistant message schema
|
|
48
|
+
*/
|
|
49
|
+
export const AssistantMessageSchema = JobOutputBaseSchema.extend({
|
|
50
|
+
type: z.literal("assistant"),
|
|
51
|
+
/** Assistant response content */
|
|
52
|
+
content: z.string().optional(),
|
|
53
|
+
/** Whether this is a partial/streaming chunk */
|
|
54
|
+
partial: z.boolean().optional(),
|
|
55
|
+
/** Token usage info if available */
|
|
56
|
+
usage: z
|
|
57
|
+
.object({
|
|
58
|
+
input_tokens: z.number().optional(),
|
|
59
|
+
output_tokens: z.number().optional(),
|
|
60
|
+
})
|
|
61
|
+
.optional(),
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Tool use message schema
|
|
65
|
+
*/
|
|
66
|
+
export const ToolUseMessageSchema = JobOutputBaseSchema.extend({
|
|
67
|
+
type: z.literal("tool_use"),
|
|
68
|
+
/** Tool being invoked */
|
|
69
|
+
tool_name: z.string(),
|
|
70
|
+
/** Unique identifier for this tool call */
|
|
71
|
+
tool_use_id: z.string().optional(),
|
|
72
|
+
/** Tool input parameters */
|
|
73
|
+
input: z.unknown().optional(),
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Tool result message schema
|
|
77
|
+
*/
|
|
78
|
+
export const ToolResultMessageSchema = JobOutputBaseSchema.extend({
|
|
79
|
+
type: z.literal("tool_result"),
|
|
80
|
+
/** ID of the tool call this is a result for */
|
|
81
|
+
tool_use_id: z.string().optional(),
|
|
82
|
+
/** Tool execution result */
|
|
83
|
+
result: z.unknown().optional(),
|
|
84
|
+
/** Whether the tool execution succeeded */
|
|
85
|
+
success: z.boolean().optional(),
|
|
86
|
+
/** Error message if tool failed */
|
|
87
|
+
error: z.string().optional(),
|
|
88
|
+
});
|
|
89
|
+
/**
|
|
90
|
+
* Error message schema
|
|
91
|
+
*/
|
|
92
|
+
export const ErrorMessageSchema = JobOutputBaseSchema.extend({
|
|
93
|
+
type: z.literal("error"),
|
|
94
|
+
/** Error message */
|
|
95
|
+
message: z.string(),
|
|
96
|
+
/** Error code if available */
|
|
97
|
+
code: z.string().optional(),
|
|
98
|
+
/** Stack trace if available */
|
|
99
|
+
stack: z.string().optional(),
|
|
100
|
+
});
|
|
101
|
+
// =============================================================================
|
|
102
|
+
// Union Schema for All Message Types
|
|
103
|
+
// =============================================================================
|
|
104
|
+
/**
|
|
105
|
+
* Schema that validates any job output message type
|
|
106
|
+
*/
|
|
107
|
+
export const JobOutputMessageSchema = z.discriminatedUnion("type", [
|
|
108
|
+
SystemMessageSchema,
|
|
109
|
+
AssistantMessageSchema,
|
|
110
|
+
ToolUseMessageSchema,
|
|
111
|
+
ToolResultMessageSchema,
|
|
112
|
+
ErrorMessageSchema,
|
|
113
|
+
]);
|
|
114
|
+
/**
|
|
115
|
+
* Validate a job output message
|
|
116
|
+
*/
|
|
117
|
+
export function validateJobOutputMessage(message) {
|
|
118
|
+
const result = JobOutputMessageSchema.safeParse(message);
|
|
119
|
+
return result.success ? result.data : null;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Check if a message has the minimum required fields
|
|
123
|
+
*/
|
|
124
|
+
export function isValidJobOutputInput(input) {
|
|
125
|
+
if (typeof input !== "object" || input === null) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
const obj = input;
|
|
129
|
+
return (typeof obj.type === "string" &&
|
|
130
|
+
JobOutputTypeSchema.safeParse(obj.type).success);
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=job-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-output.js","sourceRoot":"","sources":["../../../src/state/schemas/job-output.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACxC,QAAQ;IACR,WAAW;IACX,UAAU;IACV,aAAa;IACb,OAAO;CACR,CAAC,CAAC;AAEH,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,mBAAmB;IACnB,IAAI,EAAE,mBAAmB;IACzB,8CAA8C;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,6BAA6B;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,2CAA2C;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC/D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,iCAAiC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,gDAAgD;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,oCAAoC;IACpC,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACrC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,yBAAyB;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,2CAA2C;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,4BAA4B;IAC5B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAChE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,4BAA4B;IAC5B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,2CAA2C;IAC3C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,mCAAmC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC3D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,oBAAoB;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,8BAA8B;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,+BAA+B;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACjE,mBAAmB;IACnB,sBAAsB;IACtB,oBAAoB;IACpB,uBAAuB;IACvB,kBAAkB;CACnB,CAAC,CAAC;AA6BH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAgB;IAEhB,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAChD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas for session info (sessions/<agent-name>.json)
|
|
3
|
+
*
|
|
4
|
+
* Defines the schema for tracking Claude session information per agent,
|
|
5
|
+
* enabling session resume and fork capabilities.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/**
|
|
9
|
+
* The operational mode of the session
|
|
10
|
+
*/
|
|
11
|
+
export declare const SessionModeSchema: z.ZodEnum<["autonomous", "interactive", "review"]>;
|
|
12
|
+
/**
|
|
13
|
+
* Session info schema for individual agent session files
|
|
14
|
+
*
|
|
15
|
+
* Each session is stored as .herdctl/sessions/<agent-name>.json
|
|
16
|
+
*/
|
|
17
|
+
export declare const SessionInfoSchema: z.ZodObject<{
|
|
18
|
+
/** Name of the agent this session belongs to */
|
|
19
|
+
agent_name: z.ZodString;
|
|
20
|
+
/** Claude session ID for resuming conversations */
|
|
21
|
+
session_id: z.ZodString;
|
|
22
|
+
/** ISO timestamp when the session was created */
|
|
23
|
+
created_at: z.ZodString;
|
|
24
|
+
/** ISO timestamp when the session was last used */
|
|
25
|
+
last_used_at: z.ZodString;
|
|
26
|
+
/** Number of jobs executed in this session */
|
|
27
|
+
job_count: z.ZodNumber;
|
|
28
|
+
/** Current operational mode of the session */
|
|
29
|
+
mode: z.ZodEnum<["autonomous", "interactive", "review"]>;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
mode: "autonomous" | "interactive" | "review";
|
|
32
|
+
session_id: string;
|
|
33
|
+
agent_name: string;
|
|
34
|
+
created_at: string;
|
|
35
|
+
last_used_at: string;
|
|
36
|
+
job_count: number;
|
|
37
|
+
}, {
|
|
38
|
+
mode: "autonomous" | "interactive" | "review";
|
|
39
|
+
session_id: string;
|
|
40
|
+
agent_name: string;
|
|
41
|
+
created_at: string;
|
|
42
|
+
last_used_at: string;
|
|
43
|
+
job_count: number;
|
|
44
|
+
}>;
|
|
45
|
+
export type SessionMode = z.infer<typeof SessionModeSchema>;
|
|
46
|
+
export type SessionInfo = z.infer<typeof SessionInfoSchema>;
|
|
47
|
+
/**
|
|
48
|
+
* Options for creating a new session
|
|
49
|
+
*/
|
|
50
|
+
export interface CreateSessionOptions {
|
|
51
|
+
/** Name of the agent */
|
|
52
|
+
agent_name: string;
|
|
53
|
+
/** Claude session ID */
|
|
54
|
+
session_id: string;
|
|
55
|
+
/** Operational mode (defaults to 'autonomous') */
|
|
56
|
+
mode?: SessionMode;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create initial session info for a new session
|
|
60
|
+
*
|
|
61
|
+
* @param options - Session creation options
|
|
62
|
+
* @returns A validated SessionInfo object
|
|
63
|
+
*/
|
|
64
|
+
export declare function createSessionInfo(options: CreateSessionOptions): SessionInfo;
|
|
65
|
+
//# sourceMappingURL=session-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-info.d.ts","sourceRoot":"","sources":["../../../src/state/schemas/session-info.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,iBAAiB,oDAI5B,CAAC;AAMH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;IAC5B,gDAAgD;;IAGhD,mDAAmD;;IAGnD,iDAAiD;;IAGjD,mDAAmD;;IAGnD,8CAA8C;;IAG9C,8CAA8C;;;;;;;;;;;;;;;;EAE9C,CAAC;AAMH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,WAAW,CAW5E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas for session info (sessions/<agent-name>.json)
|
|
3
|
+
*
|
|
4
|
+
* Defines the schema for tracking Claude session information per agent,
|
|
5
|
+
* enabling session resume and fork capabilities.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Session Mode Schema
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* The operational mode of the session
|
|
13
|
+
*/
|
|
14
|
+
export const SessionModeSchema = z.enum([
|
|
15
|
+
"autonomous",
|
|
16
|
+
"interactive",
|
|
17
|
+
"review",
|
|
18
|
+
]);
|
|
19
|
+
// =============================================================================
|
|
20
|
+
// Session Info Schema
|
|
21
|
+
// =============================================================================
|
|
22
|
+
/**
|
|
23
|
+
* Session info schema for individual agent session files
|
|
24
|
+
*
|
|
25
|
+
* Each session is stored as .herdctl/sessions/<agent-name>.json
|
|
26
|
+
*/
|
|
27
|
+
export const SessionInfoSchema = z.object({
|
|
28
|
+
/** Name of the agent this session belongs to */
|
|
29
|
+
agent_name: z.string().min(1, "Agent name cannot be empty"),
|
|
30
|
+
/** Claude session ID for resuming conversations */
|
|
31
|
+
session_id: z.string().min(1, "Session ID cannot be empty"),
|
|
32
|
+
/** ISO timestamp when the session was created */
|
|
33
|
+
created_at: z.string().datetime({ message: "created_at must be a valid ISO datetime string" }),
|
|
34
|
+
/** ISO timestamp when the session was last used */
|
|
35
|
+
last_used_at: z.string().datetime({ message: "last_used_at must be a valid ISO datetime string" }),
|
|
36
|
+
/** Number of jobs executed in this session */
|
|
37
|
+
job_count: z.number().int().nonnegative(),
|
|
38
|
+
/** Current operational mode of the session */
|
|
39
|
+
mode: SessionModeSchema,
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Create initial session info for a new session
|
|
43
|
+
*
|
|
44
|
+
* @param options - Session creation options
|
|
45
|
+
* @returns A validated SessionInfo object
|
|
46
|
+
*/
|
|
47
|
+
export function createSessionInfo(options) {
|
|
48
|
+
const now = new Date().toISOString();
|
|
49
|
+
return {
|
|
50
|
+
agent_name: options.agent_name,
|
|
51
|
+
session_id: options.session_id,
|
|
52
|
+
created_at: now,
|
|
53
|
+
last_used_at: now,
|
|
54
|
+
job_count: 0,
|
|
55
|
+
mode: options.mode ?? "autonomous",
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=session-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-info.js","sourceRoot":"","sources":["../../../src/state/schemas/session-info.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,YAAY;IACZ,aAAa;IACb,QAAQ;CACT,CAAC,CAAC;AAEH,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,gDAAgD;IAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC;IAE3D,mDAAmD;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC;IAE3D,iDAAiD;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC;IAE9F,mDAAmD;IACnD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;IAElG,8CAA8C;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAEzC,8CAA8C;IAC9C,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC;AAyBH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA6B;IAC7D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,GAAG;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,YAAY;KACnC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session state persistence operations
|
|
3
|
+
*
|
|
4
|
+
* Provides CRUD operations for session info files stored at
|
|
5
|
+
* .herdctl/sessions/<agent-name>.json
|
|
6
|
+
*/
|
|
7
|
+
import { type SessionInfo } from "./schemas/session-info.js";
|
|
8
|
+
/**
|
|
9
|
+
* Options for session operations
|
|
10
|
+
*/
|
|
11
|
+
export interface SessionOptions {
|
|
12
|
+
/** Logger for warnings */
|
|
13
|
+
logger?: SessionLogger;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Logger interface for session operations
|
|
17
|
+
*/
|
|
18
|
+
export interface SessionLogger {
|
|
19
|
+
warn: (message: string) => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Partial updates for session info
|
|
23
|
+
*/
|
|
24
|
+
export type SessionInfoUpdates = Partial<Omit<SessionInfo, "agent_name" | "created_at">>;
|
|
25
|
+
/**
|
|
26
|
+
* Get session info for an agent
|
|
27
|
+
*
|
|
28
|
+
* Returns null if no session exists (handles missing file gracefully).
|
|
29
|
+
*
|
|
30
|
+
* @param sessionsDir - Path to the sessions directory
|
|
31
|
+
* @param agentName - Name of the agent
|
|
32
|
+
* @param options - Optional operation options
|
|
33
|
+
* @returns The session info, or null if not found
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const session = await getSessionInfo('/path/to/.herdctl/sessions', 'my-agent');
|
|
38
|
+
* if (session) {
|
|
39
|
+
* console.log(`Session ${session.session_id} has ${session.job_count} jobs`);
|
|
40
|
+
* } else {
|
|
41
|
+
* console.log('No existing session');
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function getSessionInfo(sessionsDir: string, agentName: string, options?: SessionOptions): Promise<SessionInfo | null>;
|
|
46
|
+
/**
|
|
47
|
+
* Update session info for an agent
|
|
48
|
+
*
|
|
49
|
+
* If no session exists, creates a new one with the provided updates.
|
|
50
|
+
* Automatically updates last_used_at timestamp.
|
|
51
|
+
*
|
|
52
|
+
* @param sessionsDir - Path to the sessions directory
|
|
53
|
+
* @param agentName - Name of the agent
|
|
54
|
+
* @param updates - Updates to apply to the session
|
|
55
|
+
* @returns The updated session info
|
|
56
|
+
* @throws StateFileError if the file cannot be written
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* // Update existing session
|
|
61
|
+
* const session = await updateSessionInfo('/path/to/.herdctl/sessions', 'my-agent', {
|
|
62
|
+
* job_count: 5,
|
|
63
|
+
* mode: 'interactive',
|
|
64
|
+
* });
|
|
65
|
+
*
|
|
66
|
+
* // Create new session
|
|
67
|
+
* const newSession = await updateSessionInfo('/path/to/.herdctl/sessions', 'new-agent', {
|
|
68
|
+
* session_id: 'claude-session-abc123',
|
|
69
|
+
* mode: 'autonomous',
|
|
70
|
+
* });
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare function updateSessionInfo(sessionsDir: string, agentName: string, updates: SessionInfoUpdates): Promise<SessionInfo>;
|
|
74
|
+
/**
|
|
75
|
+
* Clear session info for an agent (delete the session file)
|
|
76
|
+
*
|
|
77
|
+
* @param sessionsDir - Path to the sessions directory
|
|
78
|
+
* @param agentName - Name of the agent
|
|
79
|
+
* @returns true if the session was deleted, false if it didn't exist
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const cleared = await clearSession('/path/to/.herdctl/sessions', 'my-agent');
|
|
84
|
+
* if (cleared) {
|
|
85
|
+
* console.log('Session cleared');
|
|
86
|
+
* } else {
|
|
87
|
+
* console.log('No session to clear');
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export declare function clearSession(sessionsDir: string, agentName: string): Promise<boolean>;
|
|
92
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,2BAA2B,CAAC;AAOnC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,YAAY,CAAC,CAC/C,CAAC;AAiBF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA6B7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAkEtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
|