@herdctl/core 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/dist/config/__tests__/agent.test.js +61 -13
  2. package/dist/config/__tests__/agent.test.js.map +1 -1
  3. package/dist/config/__tests__/merge.test.js +10 -3
  4. package/dist/config/__tests__/merge.test.js.map +1 -1
  5. package/dist/config/__tests__/schema.test.js +350 -1
  6. package/dist/config/__tests__/schema.test.js.map +1 -1
  7. package/dist/config/index.d.ts +1 -1
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/index.js +3 -1
  10. package/dist/config/index.js.map +1 -1
  11. package/dist/config/schema.d.ts +841 -27
  12. package/dist/config/schema.d.ts.map +1 -1
  13. package/dist/config/schema.js +129 -10
  14. package/dist/config/schema.js.map +1 -1
  15. package/dist/fleet-manager/__tests__/coverage.test.js +14 -331
  16. package/dist/fleet-manager/__tests__/coverage.test.js.map +1 -1
  17. package/dist/fleet-manager/__tests__/errors.test.js +1 -49
  18. package/dist/fleet-manager/__tests__/errors.test.js.map +1 -1
  19. package/dist/fleet-manager/__tests__/integration.test.js +114 -0
  20. package/dist/fleet-manager/__tests__/integration.test.js.map +1 -1
  21. package/dist/fleet-manager/__tests__/job-control.test.js +13 -14
  22. package/dist/fleet-manager/__tests__/job-control.test.js.map +1 -1
  23. package/dist/fleet-manager/__tests__/reload.test.js +12 -2
  24. package/dist/fleet-manager/__tests__/reload.test.js.map +1 -1
  25. package/dist/fleet-manager/__tests__/status-queries.test.js +6 -0
  26. package/dist/fleet-manager/__tests__/status-queries.test.js.map +1 -1
  27. package/dist/fleet-manager/__tests__/trigger.test.js +10 -2
  28. package/dist/fleet-manager/__tests__/trigger.test.js.map +1 -1
  29. package/dist/fleet-manager/config-reload.d.ts +164 -0
  30. package/dist/fleet-manager/config-reload.d.ts.map +1 -0
  31. package/dist/fleet-manager/config-reload.js +445 -0
  32. package/dist/fleet-manager/config-reload.js.map +1 -0
  33. package/dist/fleet-manager/context.d.ts +76 -0
  34. package/dist/fleet-manager/context.d.ts.map +1 -0
  35. package/dist/fleet-manager/context.js +11 -0
  36. package/dist/fleet-manager/context.js.map +1 -0
  37. package/dist/fleet-manager/errors.d.ts +0 -25
  38. package/dist/fleet-manager/errors.d.ts.map +1 -1
  39. package/dist/fleet-manager/errors.js +0 -38
  40. package/dist/fleet-manager/errors.js.map +1 -1
  41. package/dist/fleet-manager/event-emitters.d.ts +123 -0
  42. package/dist/fleet-manager/event-emitters.d.ts.map +1 -0
  43. package/dist/fleet-manager/event-emitters.js +136 -0
  44. package/dist/fleet-manager/event-emitters.js.map +1 -0
  45. package/dist/fleet-manager/event-types.d.ts +0 -15
  46. package/dist/fleet-manager/event-types.d.ts.map +1 -1
  47. package/dist/fleet-manager/fleet-manager.d.ts +40 -653
  48. package/dist/fleet-manager/fleet-manager.d.ts.map +1 -1
  49. package/dist/fleet-manager/fleet-manager.js +95 -1720
  50. package/dist/fleet-manager/fleet-manager.js.map +1 -1
  51. package/dist/fleet-manager/index.d.ts +13 -2
  52. package/dist/fleet-manager/index.d.ts.map +1 -1
  53. package/dist/fleet-manager/index.js +19 -6
  54. package/dist/fleet-manager/index.js.map +1 -1
  55. package/dist/fleet-manager/job-control.d.ts +67 -0
  56. package/dist/fleet-manager/job-control.d.ts.map +1 -0
  57. package/dist/fleet-manager/job-control.js +333 -0
  58. package/dist/fleet-manager/job-control.js.map +1 -0
  59. package/dist/fleet-manager/log-streaming.d.ts +171 -0
  60. package/dist/fleet-manager/log-streaming.d.ts.map +1 -0
  61. package/dist/fleet-manager/log-streaming.js +503 -0
  62. package/dist/fleet-manager/log-streaming.js.map +1 -0
  63. package/dist/fleet-manager/schedule-executor.d.ts +63 -0
  64. package/dist/fleet-manager/schedule-executor.d.ts.map +1 -0
  65. package/dist/fleet-manager/schedule-executor.js +209 -0
  66. package/dist/fleet-manager/schedule-executor.js.map +1 -0
  67. package/dist/fleet-manager/schedule-management.d.ts +71 -0
  68. package/dist/fleet-manager/schedule-management.d.ts.map +1 -0
  69. package/dist/fleet-manager/schedule-management.js +171 -0
  70. package/dist/fleet-manager/schedule-management.js.map +1 -0
  71. package/dist/fleet-manager/status-queries.d.ts +105 -0
  72. package/dist/fleet-manager/status-queries.d.ts.map +1 -0
  73. package/dist/fleet-manager/status-queries.js +247 -0
  74. package/dist/fleet-manager/status-queries.js.map +1 -0
  75. package/dist/fleet-manager/types.d.ts +0 -39
  76. package/dist/fleet-manager/types.d.ts.map +1 -1
  77. package/dist/runner/__tests__/job-executor.test.js +206 -1
  78. package/dist/runner/__tests__/job-executor.test.js.map +1 -1
  79. package/dist/runner/job-executor.d.ts +9 -0
  80. package/dist/runner/job-executor.d.ts.map +1 -1
  81. package/dist/runner/job-executor.js +78 -4
  82. package/dist/runner/job-executor.js.map +1 -1
  83. package/dist/runner/message-processor.d.ts.map +1 -1
  84. package/dist/runner/message-processor.js +53 -0
  85. package/dist/runner/message-processor.js.map +1 -1
  86. package/dist/runner/types.d.ts +3 -1
  87. package/dist/runner/types.d.ts.map +1 -1
  88. package/dist/scheduler/__tests__/cron.test.d.ts +2 -0
  89. package/dist/scheduler/__tests__/cron.test.d.ts.map +1 -0
  90. package/dist/scheduler/__tests__/cron.test.js +867 -0
  91. package/dist/scheduler/__tests__/cron.test.js.map +1 -0
  92. package/dist/scheduler/__tests__/scheduler.test.js +164 -5
  93. package/dist/scheduler/__tests__/scheduler.test.js.map +1 -1
  94. package/dist/scheduler/cron.d.ts +126 -0
  95. package/dist/scheduler/cron.d.ts.map +1 -0
  96. package/dist/scheduler/cron.js +390 -0
  97. package/dist/scheduler/cron.js.map +1 -0
  98. package/dist/scheduler/errors.d.ts +81 -1
  99. package/dist/scheduler/errors.d.ts.map +1 -1
  100. package/dist/scheduler/errors.js +81 -6
  101. package/dist/scheduler/errors.js.map +1 -1
  102. package/dist/scheduler/index.d.ts +1 -0
  103. package/dist/scheduler/index.d.ts.map +1 -1
  104. package/dist/scheduler/index.js +2 -0
  105. package/dist/scheduler/index.js.map +1 -1
  106. package/dist/scheduler/schedule-runner.d.ts +2 -2
  107. package/dist/scheduler/schedule-runner.d.ts.map +1 -1
  108. package/dist/scheduler/schedule-runner.js +20 -8
  109. package/dist/scheduler/schedule-runner.js.map +1 -1
  110. package/dist/scheduler/scheduler.d.ts +4 -4
  111. package/dist/scheduler/scheduler.d.ts.map +1 -1
  112. package/dist/scheduler/scheduler.js +95 -20
  113. package/dist/scheduler/scheduler.js.map +1 -1
  114. package/dist/scheduler/types.d.ts +1 -1
  115. package/dist/scheduler/types.d.ts.map +1 -1
  116. package/dist/state/schemas/job-metadata.d.ts +2 -2
  117. package/package.json +33 -8
  118. package/.turbo/turbo-build.log +0 -4
  119. package/.turbo/turbo-test.log +0 -219
  120. package/.turbo/turbo-typecheck.log +0 -4
  121. package/coverage/base.css +0 -224
  122. package/coverage/block-navigation.js +0 -87
  123. package/coverage/coverage-final.json +0 -51
  124. package/coverage/favicon.png +0 -0
  125. package/coverage/index.html +0 -251
  126. package/coverage/prettify.css +0 -1
  127. package/coverage/prettify.js +0 -2
  128. package/coverage/sort-arrow-sprite.png +0 -0
  129. package/coverage/sorter.js +0 -210
  130. package/coverage/src/config/index.html +0 -191
  131. package/coverage/src/config/index.ts.html +0 -442
  132. package/coverage/src/config/interpolate.ts.html +0 -652
  133. package/coverage/src/config/loader.ts.html +0 -1501
  134. package/coverage/src/config/merge.ts.html +0 -823
  135. package/coverage/src/config/parser.ts.html +0 -1213
  136. package/coverage/src/config/schema.ts.html +0 -1123
  137. package/coverage/src/fleet-manager/errors.ts.html +0 -2326
  138. package/coverage/src/fleet-manager/event-types.ts.html +0 -1219
  139. package/coverage/src/fleet-manager/fleet-manager.ts.html +0 -7030
  140. package/coverage/src/fleet-manager/index.html +0 -206
  141. package/coverage/src/fleet-manager/index.ts.html +0 -469
  142. package/coverage/src/fleet-manager/job-manager.ts.html +0 -2074
  143. package/coverage/src/fleet-manager/job-queue.ts.html +0 -2479
  144. package/coverage/src/fleet-manager/types.ts.html +0 -2602
  145. package/coverage/src/index.html +0 -116
  146. package/coverage/src/index.ts.html +0 -181
  147. package/coverage/src/runner/errors.ts.html +0 -1006
  148. package/coverage/src/runner/index.html +0 -191
  149. package/coverage/src/runner/index.ts.html +0 -256
  150. package/coverage/src/runner/job-executor.ts.html +0 -1429
  151. package/coverage/src/runner/message-processor.ts.html +0 -1150
  152. package/coverage/src/runner/sdk-adapter.ts.html +0 -658
  153. package/coverage/src/runner/types.ts.html +0 -559
  154. package/coverage/src/scheduler/errors.ts.html +0 -388
  155. package/coverage/src/scheduler/index.html +0 -206
  156. package/coverage/src/scheduler/index.ts.html +0 -244
  157. package/coverage/src/scheduler/interval.ts.html +0 -652
  158. package/coverage/src/scheduler/schedule-runner.ts.html +0 -1411
  159. package/coverage/src/scheduler/schedule-state.ts.html +0 -718
  160. package/coverage/src/scheduler/scheduler.ts.html +0 -1795
  161. package/coverage/src/scheduler/types.ts.html +0 -733
  162. package/coverage/src/state/directory.ts.html +0 -736
  163. package/coverage/src/state/errors.ts.html +0 -376
  164. package/coverage/src/state/fleet-state.ts.html +0 -937
  165. package/coverage/src/state/index.html +0 -221
  166. package/coverage/src/state/index.ts.html +0 -322
  167. package/coverage/src/state/job-metadata.ts.html +0 -1420
  168. package/coverage/src/state/job-output.ts.html +0 -1033
  169. package/coverage/src/state/schemas/fleet-state.ts.html +0 -445
  170. package/coverage/src/state/schemas/index.html +0 -176
  171. package/coverage/src/state/schemas/index.ts.html +0 -286
  172. package/coverage/src/state/schemas/job-metadata.ts.html +0 -628
  173. package/coverage/src/state/schemas/job-output.ts.html +0 -616
  174. package/coverage/src/state/schemas/session-info.ts.html +0 -361
  175. package/coverage/src/state/session.ts.html +0 -844
  176. package/coverage/src/state/types.ts.html +0 -262
  177. package/coverage/src/state/utils/atomic.ts.html +0 -748
  178. package/coverage/src/state/utils/index.html +0 -146
  179. package/coverage/src/state/utils/index.ts.html +0 -103
  180. package/coverage/src/state/utils/reads.ts.html +0 -1621
  181. package/coverage/src/work-sources/adapters/github.ts.html +0 -3583
  182. package/coverage/src/work-sources/adapters/index.html +0 -131
  183. package/coverage/src/work-sources/adapters/index.ts.html +0 -277
  184. package/coverage/src/work-sources/errors.ts.html +0 -298
  185. package/coverage/src/work-sources/index.html +0 -176
  186. package/coverage/src/work-sources/index.ts.html +0 -529
  187. package/coverage/src/work-sources/manager.ts.html +0 -1324
  188. package/coverage/src/work-sources/registry.ts.html +0 -619
  189. package/coverage/src/work-sources/types.ts.html +0 -568
  190. package/dist/fleet-manager/__tests__/event-helpers.test.d.ts +0 -7
  191. package/dist/fleet-manager/__tests__/event-helpers.test.d.ts.map +0 -1
  192. package/dist/fleet-manager/__tests__/event-helpers.test.js +0 -368
  193. package/dist/fleet-manager/__tests__/event-helpers.test.js.map +0 -1
  194. package/src/config/__tests__/agent.test.ts +0 -864
  195. package/src/config/__tests__/interpolate.test.ts +0 -644
  196. package/src/config/__tests__/loader.test.ts +0 -784
  197. package/src/config/__tests__/merge.test.ts +0 -751
  198. package/src/config/__tests__/parser.test.ts +0 -533
  199. package/src/config/__tests__/schema.test.ts +0 -873
  200. package/src/config/index.ts +0 -119
  201. package/src/config/interpolate.ts +0 -189
  202. package/src/config/loader.ts +0 -472
  203. package/src/config/merge.ts +0 -246
  204. package/src/config/parser.ts +0 -376
  205. package/src/config/schema.ts +0 -346
  206. package/src/fleet-manager/__tests__/coverage.test.ts +0 -2869
  207. package/src/fleet-manager/__tests__/errors.test.ts +0 -660
  208. package/src/fleet-manager/__tests__/event-helpers.test.ts +0 -448
  209. package/src/fleet-manager/__tests__/integration.test.ts +0 -1209
  210. package/src/fleet-manager/__tests__/job-control.test.ts +0 -283
  211. package/src/fleet-manager/__tests__/job-manager.test.ts +0 -869
  212. package/src/fleet-manager/__tests__/job-queue.test.ts +0 -401
  213. package/src/fleet-manager/__tests__/reload.test.ts +0 -751
  214. package/src/fleet-manager/__tests__/status-queries.test.ts +0 -595
  215. package/src/fleet-manager/__tests__/trigger.test.ts +0 -601
  216. package/src/fleet-manager/errors.ts +0 -747
  217. package/src/fleet-manager/event-types.ts +0 -378
  218. package/src/fleet-manager/fleet-manager.ts +0 -2315
  219. package/src/fleet-manager/index.ts +0 -128
  220. package/src/fleet-manager/job-manager.ts +0 -663
  221. package/src/fleet-manager/job-queue.ts +0 -798
  222. package/src/fleet-manager/types.ts +0 -839
  223. package/src/index.ts +0 -32
  224. package/src/runner/__tests__/errors.test.ts +0 -382
  225. package/src/runner/__tests__/job-executor.test.ts +0 -1708
  226. package/src/runner/__tests__/message-processor.test.ts +0 -960
  227. package/src/runner/__tests__/sdk-adapter.test.ts +0 -626
  228. package/src/runner/errors.ts +0 -307
  229. package/src/runner/index.ts +0 -57
  230. package/src/runner/job-executor.ts +0 -448
  231. package/src/runner/message-processor.ts +0 -355
  232. package/src/runner/sdk-adapter.ts +0 -191
  233. package/src/runner/types.ts +0 -158
  234. package/src/scheduler/__tests__/errors.test.ts +0 -159
  235. package/src/scheduler/__tests__/interval.test.ts +0 -515
  236. package/src/scheduler/__tests__/schedule-runner.test.ts +0 -798
  237. package/src/scheduler/__tests__/schedule-state.test.ts +0 -671
  238. package/src/scheduler/__tests__/scheduler.test.ts +0 -1280
  239. package/src/scheduler/errors.ts +0 -101
  240. package/src/scheduler/index.ts +0 -53
  241. package/src/scheduler/interval.ts +0 -189
  242. package/src/scheduler/schedule-runner.ts +0 -442
  243. package/src/scheduler/schedule-state.ts +0 -211
  244. package/src/scheduler/scheduler.ts +0 -570
  245. package/src/scheduler/types.ts +0 -216
  246. package/src/state/__tests__/directory.test.ts +0 -595
  247. package/src/state/__tests__/fleet-state.test.ts +0 -868
  248. package/src/state/__tests__/job-metadata-schema.test.ts +0 -414
  249. package/src/state/__tests__/job-metadata.test.ts +0 -831
  250. package/src/state/__tests__/job-output.test.ts +0 -856
  251. package/src/state/__tests__/session-schema.test.ts +0 -378
  252. package/src/state/__tests__/session.test.ts +0 -604
  253. package/src/state/directory.ts +0 -217
  254. package/src/state/errors.ts +0 -97
  255. package/src/state/fleet-state.ts +0 -284
  256. package/src/state/index.ts +0 -79
  257. package/src/state/job-metadata.ts +0 -445
  258. package/src/state/job-output.ts +0 -316
  259. package/src/state/schemas/__tests__/job-output.test.ts +0 -338
  260. package/src/state/schemas/fleet-state.ts +0 -120
  261. package/src/state/schemas/index.ts +0 -67
  262. package/src/state/schemas/job-metadata.ts +0 -181
  263. package/src/state/schemas/job-output.ts +0 -177
  264. package/src/state/schemas/session-info.ts +0 -92
  265. package/src/state/session.ts +0 -253
  266. package/src/state/types.ts +0 -59
  267. package/src/state/utils/__tests__/atomic.test.ts +0 -723
  268. package/src/state/utils/__tests__/reads.test.ts +0 -1071
  269. package/src/state/utils/atomic.ts +0 -221
  270. package/src/state/utils/index.ts +0 -6
  271. package/src/state/utils/reads.ts +0 -512
  272. package/src/work-sources/__tests__/github.test.ts +0 -1800
  273. package/src/work-sources/__tests__/manager.test.ts +0 -529
  274. package/src/work-sources/__tests__/registry.test.ts +0 -477
  275. package/src/work-sources/__tests__/types.test.ts +0 -479
  276. package/src/work-sources/adapters/github.ts +0 -1166
  277. package/src/work-sources/adapters/index.ts +0 -64
  278. package/src/work-sources/errors.ts +0 -71
  279. package/src/work-sources/index.ts +0 -148
  280. package/src/work-sources/manager.ts +0 -413
  281. package/src/work-sources/registry.ts +0 -178
  282. package/src/work-sources/types.ts +0 -161
  283. package/tsconfig.json +0 -9
  284. package/vitest.config.ts +0 -19
@@ -1,219 +0,0 @@
1
-
2
- > @herdctl/core@0.0.1 test /Users/ed/Code/overseer-clones/herdctl/packages/core
3
- > vitest run --coverage
4
-
5
-
6
-  RUN  v4.0.17 /Users/ed/Code/overseer-clones/herdctl/packages/core
7
- Coverage enabled with v8
8
-
9
- ✓ src/config/__tests__/parser.test.ts (40 tests) 15ms
10
- ✓ src/config/__tests__/agent.test.ts (58 tests) 29ms
11
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > executes a schedule successfully
12
- [herdctl] Created job job-2026-01-19-iemkow for agent test-agent
13
-
14
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > executes a schedule successfully
15
- [herdctl] Persisted session test-session-123 for agent test-agent
16
-
17
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > updates schedule state to running during execution
18
- [herdctl] Created job job-2026-01-19-9z7qdw for agent test-agent
19
-
20
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > updates schedule state to running during execution
21
- [herdctl] Persisted session test for agent test-agent
22
-
23
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > updates schedule state with last_run_at after completion
24
- [herdctl] Created job job-2026-01-19-t1d7fn for agent test-agent
25
-
26
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > updates schedule state with last_run_at after completion
27
- [herdctl] Persisted session test-session-123 for agent test-agent
28
-
29
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > calculates next_run_at based on interval
30
- [herdctl] Created job job-2026-01-19-k06fqv for agent test-agent
31
-
32
- ✓ src/scheduler/__tests__/schedule-state.test.ts (26 tests) 84ms
33
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > calculates next_run_at based on interval
34
- [herdctl] Persisted session test-session-123 for agent test-agent
35
-
36
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > passes correct trigger type and schedule name to executor
37
- [herdctl] Created job job-2026-01-19-vy6t6o for agent test-agent
38
-
39
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > basic execution > passes correct trigger type and schedule name to executor
40
- [herdctl] Persisted session test-session-123 for agent test-agent
41
-
42
- ✓ src/state/__tests__/session.test.ts (34 tests) 96ms
43
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > fetches work item when schedule has work_source
44
- [herdctl] Created job job-2026-01-19-hvuncf for agent test-agent
45
-
46
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > fetches work item when schedule has work_source
47
- [herdctl] Persisted session test-session-123 for agent test-agent
48
-
49
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > reports outcome to work source after successful execution
50
- [herdctl] Created job job-2026-01-19-9yerj4 for agent test-agent
51
-
52
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > reports outcome to work source after successful execution
53
- [herdctl] Persisted session test-session-123 for agent test-agent
54
-
55
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > reports failure outcome when job fails
56
- [herdctl] Created job job-2026-01-19-349so4 for agent test-agent
57
-
58
- ✓ src/config/__tests__/loader.test.ts (47 tests) 102ms
59
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > reports failure outcome when job fails
60
- [herdctl] Persisted session test for agent test-agent
61
-
62
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > continues when no work is available
63
- [herdctl] Created job job-2026-01-19-6xrv11 for agent test-agent
64
-
65
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > continues when no work is available
66
- [herdctl] Persisted session test-session-123 for agent test-agent
67
-
68
- ✓ src/scheduler/__tests__/interval.test.ts (54 tests) 8ms
69
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > handles claim failure gracefully
70
- [herdctl] Created job job-2026-01-19-jv6j5y for agent test-agent
71
-
72
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > handles claim failure gracefully
73
- [herdctl] Persisted session test-session-123 for agent test-agent
74
-
75
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > skips work source when no manager provided
76
- [herdctl] Created job job-2026-01-19-wge4iy for agent test-agent
77
-
78
- ✓ src/config/__tests__/schema.test.ts (79 tests) 7ms
79
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > with work source > skips work source when no manager provided
80
- [herdctl] Persisted session test-session-123 for agent test-agent
81
-
82
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > error handling > reports failure outcome when SDK throws
83
- [herdctl] Created job job-2026-01-19-smlw48 for agent test-agent
84
-
85
- stderr | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > error handling > reports failure outcome when SDK throws
86
- [herdctl] SDKInitializationError: Unexpected SDK failure | Agent: test-agent | Job: job-2026-01-19-smlw48
87
-
88
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > error handling > records error in schedule state on SDK failure
89
- [herdctl] Created job job-2026-01-19-yotq80 for agent test-agent
90
-
91
- stderr | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > error handling > records error in schedule state on SDK failure
92
- [herdctl] SDKInitializationError: Execution failed | Agent: test-agent | Job: job-2026-01-19-yotq80
93
-
94
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > error handling > still calculates next_run_at on SDK failure
95
- [herdctl] Created job job-2026-01-19-zv3rjc for agent test-agent
96
-
97
- stderr | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > error handling > still calculates next_run_at on SDK failure
98
- [herdctl] SDKInitializationError: Execution failed | Agent: test-agent | Job: job-2026-01-19-zv3rjc
99
-
100
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > error handling > continues if reporting outcome fails
101
- [herdctl] Created job job-2026-01-19-dal77f for agent test-agent
102
-
103
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > error handling > continues if reporting outcome fails
104
- [herdctl] Persisted session test-session-123 for agent test-agent
105
-
106
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > logging > logs schedule start
107
- [herdctl] Created job job-2026-01-19-8uydhn for agent my-agent
108
-
109
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > logging > logs schedule start
110
- [herdctl] Persisted session test-session-123 for agent my-agent
111
-
112
- ✓ src/state/__tests__/directory.test.ts (41 tests) 164ms
113
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > logging > logs schedule completion
114
- [herdctl] Created job job-2026-01-19-hbqlpi for agent my-agent
115
-
116
- ✓ src/state/utils/__tests__/atomic.test.ts (45 tests) 205ms
117
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > logging > logs schedule completion
118
- [herdctl] Persisted session test-session-123 for agent my-agent
119
-
120
- ✓ src/state/__tests__/job-metadata-schema.test.ts (39 tests) 7ms
121
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > logging > logs work item claim
122
- [herdctl] Created job job-2026-01-19-cyosus for agent test-agent
123
-
124
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > logging > logs work item claim
125
- [herdctl] Persisted session test-session-123 for agent test-agent
126
-
127
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > logging > logs outcome reporting
128
- [herdctl] Created job job-2026-01-19-epp21x for agent test-agent
129
-
130
- stdout | src/scheduler/__tests__/schedule-runner.test.ts > runSchedule > logging > logs outcome reporting
131
- [herdctl] Persisted session test-session-123 for agent test-agent
132
-
133
- ✓ src/state/__tests__/session-schema.test.ts (32 tests) 6ms
134
- ✓ src/scheduler/__tests__/schedule-runner.test.ts (25 tests) 169ms
135
- ✓ src/config/__tests__/merge.test.ts (54 tests) 5ms
136
- ✓ src/config/__tests__/interpolate.test.ts (63 tests) 6ms
137
- ✓ src/runner/__tests__/message-processor.test.ts (72 tests) 5ms
138
- ✓ src/state/__tests__/job-output.test.ts (42 tests) 238ms
139
- ✓ src/state/schemas/__tests__/job-output.test.ts (33 tests) 5ms
140
- ✓ src/runner/__tests__/sdk-adapter.test.ts (48 tests) 4ms
141
- ✓ src/state/__tests__/job-metadata.test.ts (40 tests) 292ms
142
- ✓ src/work-sources/__tests__/types.test.ts (27 tests) 4ms
143
- ✓ src/work-sources/__tests__/registry.test.ts (29 tests) 5ms
144
- ✓ src/work-sources/__tests__/manager.test.ts (21 tests) 3ms
145
- ✓ src/runner/__tests__/errors.test.ts (34 tests) 3ms
146
- ✓ src/work-sources/__tests__/github.test.ts (111 tests) 338ms
147
- ✓ src/scheduler/__tests__/errors.test.ts (12 tests) 2ms
148
- ✓ src/state/utils/__tests__/reads.test.ts (45 tests) 353ms
149
- ✓ src/state/__tests__/fleet-state.test.ts (44 tests) 340ms
150
- ✓ src/runner/__tests__/job-executor.test.ts (66 tests) 484ms
151
- ✓ src/scheduler/__tests__/scheduler.test.ts (42 tests) 4777ms
152
- ✓ skips second schedule when agent is at capacity  305ms
153
- ✓ tracks multiple schedules for the same agent  324ms
154
- ✓ does not wait for jobs when waitForJobs is false  506ms
155
- ✓ stops new triggers immediately when stop is called  311ms
156
-
157
-  Test Files  29 passed (29)
158
-  Tests  1303 passed (1303)
159
-  Start at  23:05:01
160
-  Duration  5.14s (transform 1.24s, setup 0ms, import 2.13s, tests 7.75s, environment 2ms)
161
-
162
-  % Coverage report from v8
163
- -------------------|---------|----------|---------|---------|-------------------
164
- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
165
- -------------------|---------|----------|---------|---------|-------------------
166
- All files | 93.73 | 89.01 | 94.73 | 93.67 |
167
- src | 0 | 100 | 100 | 0 |
168
- index.ts | 0 | 100 | 100 | 0 | 14
169
- src/config | 95.4 | 84.4 | 100 | 95.33 |
170
- index.ts | 0 | 0 | 0 | 0 |
171
- interpolate.ts | 100 | 100 | 100 | 100 |
172
- loader.ts | 94.39 | 76.19 | 100 | 94.33 | ...47,252,270,465
173
- merge.ts | 100 | 100 | 100 | 100 |
174
- parser.ts | 91.2 | 70.21 | 100 | 91.01 | ...57,272,294,318
175
- schema.ts | 100 | 100 | 100 | 100 |
176
- src/runner | 91.98 | 96.12 | 94.11 | 91.98 |
177
- errors.ts | 100 | 100 | 100 | 100 |
178
- index.ts | 0 | 0 | 0 | 0 |
179
- job-executor.ts | 80.68 | 90.38 | 83.33 | 80.68 | ...41-346,367,390
180
- ...-processor.ts | 95.55 | 95.78 | 91.66 | 95.55 | 30-41
181
- sdk-adapter.ts | 100 | 100 | 100 | 100 |
182
- types.ts | 0 | 0 | 0 | 0 |
183
- src/scheduler | 92.2 | 85.11 | 78.72 | 92.15 |
184
- errors.ts | 100 | 100 | 100 | 100 |
185
- index.ts | 0 | 0 | 0 | 0 |
186
- interval.ts | 100 | 100 | 100 | 100 |
187
- ...ule-runner.ts | 81.33 | 71.92 | 50 | 81.33 | 94-97,380-421
188
- ...dule-state.ts | 96.29 | 100 | 80 | 96.29 | 28
189
- scheduler.ts | 94.32 | 85.93 | 81.48 | 94.24 | 50-54,153,375-378
190
- types.ts | 0 | 0 | 0 | 0 |
191
- src/state | 94.44 | 91.83 | 100 | 94.42 |
192
- directory.ts | 92.45 | 91.3 | 100 | 92.45 | 87,173,209-210
193
- errors.ts | 100 | 100 | 100 | 100 |
194
- fleet-state.ts | 95.12 | 92 | 100 | 95.12 | 114-117
195
- index.ts | 0 | 0 | 0 | 0 |
196
- job-metadata.ts | 91.2 | 90.19 | 100 | 91.2 | ...27,364-368,438
197
- job-output.ts | 96.29 | 95 | 100 | 96.22 | 170,219
198
- session.ts | 97.5 | 88.88 | 100 | 97.5 | 246
199
- types.ts | 100 | 100 | 100 | 100 |
200
- src/state/schemas | 100 | 100 | 100 | 100 |
201
- fleet-state.ts | 100 | 100 | 100 | 100 |
202
- index.ts | 0 | 0 | 0 | 0 |
203
- job-metadata.ts | 100 | 100 | 100 | 100 |
204
- job-output.ts | 100 | 100 | 100 | 100 |
205
- session-info.ts | 100 | 100 | 100 | 100 |
206
- src/state/utils | 92.41 | 89.01 | 95.65 | 92.7 |
207
- atomic.ts | 100 | 94.73 | 100 | 100 | 107
208
- index.ts | 0 | 0 | 0 | 0 |
209
- reads.ts | 89.42 | 87.5 | 92.85 | 89.79 | ...65-466,482-511
210
- src/work-sources | 100 | 100 | 100 | 100 |
211
- errors.ts | 100 | 100 | 100 | 100 |
212
- index.ts | 0 | 0 | 0 | 0 |
213
- manager.ts | 0 | 0 | 0 | 0 |
214
- registry.ts | 100 | 100 | 100 | 100 |
215
- types.ts | 0 | 0 | 0 | 0 |
216
- ...urces/adapters | 94 | 85.33 | 100 | 93.7 |
217
- github.ts | 93.94 | 85.65 | 100 | 93.64 | ...0,859,942,1019
218
- index.ts | 100 | 50 | 100 | 100 | 58
219
- -------------------|---------|----------|---------|---------|-------------------
@@ -1,4 +0,0 @@
1
-
2
- > @herdctl/core@0.0.1 typecheck /Users/ed/Code/overseer-clones/herdctl/packages/core
3
- > tsc --noEmit
4
-
package/coverage/base.css DELETED
@@ -1,224 +0,0 @@
1
- body, html {
2
- margin:0; padding: 0;
3
- height: 100%;
4
- }
5
- body {
6
- font-family: Helvetica Neue, Helvetica, Arial;
7
- font-size: 14px;
8
- color:#333;
9
- }
10
- .small { font-size: 12px; }
11
- *, *:after, *:before {
12
- -webkit-box-sizing:border-box;
13
- -moz-box-sizing:border-box;
14
- box-sizing:border-box;
15
- }
16
- h1 { font-size: 20px; margin: 0;}
17
- h2 { font-size: 14px; }
18
- pre {
19
- font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
- margin: 0;
21
- padding: 0;
22
- -moz-tab-size: 2;
23
- -o-tab-size: 2;
24
- tab-size: 2;
25
- }
26
- a { color:#0074D9; text-decoration:none; }
27
- a:hover { text-decoration:underline; }
28
- .strong { font-weight: bold; }
29
- .space-top1 { padding: 10px 0 0 0; }
30
- .pad2y { padding: 20px 0; }
31
- .pad1y { padding: 10px 0; }
32
- .pad2x { padding: 0 20px; }
33
- .pad2 { padding: 20px; }
34
- .pad1 { padding: 10px; }
35
- .space-left2 { padding-left:55px; }
36
- .space-right2 { padding-right:20px; }
37
- .center { text-align:center; }
38
- .clearfix { display:block; }
39
- .clearfix:after {
40
- content:'';
41
- display:block;
42
- height:0;
43
- clear:both;
44
- visibility:hidden;
45
- }
46
- .fl { float: left; }
47
- @media only screen and (max-width:640px) {
48
- .col3 { width:100%; max-width:100%; }
49
- .hide-mobile { display:none!important; }
50
- }
51
-
52
- .quiet {
53
- color: #7f7f7f;
54
- color: rgba(0,0,0,0.5);
55
- }
56
- .quiet a { opacity: 0.7; }
57
-
58
- .fraction {
59
- font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
- font-size: 10px;
61
- color: #555;
62
- background: #E8E8E8;
63
- padding: 4px 5px;
64
- border-radius: 3px;
65
- vertical-align: middle;
66
- }
67
-
68
- div.path a:link, div.path a:visited { color: #333; }
69
- table.coverage {
70
- border-collapse: collapse;
71
- margin: 10px 0 0 0;
72
- padding: 0;
73
- }
74
-
75
- table.coverage td {
76
- margin: 0;
77
- padding: 0;
78
- vertical-align: top;
79
- }
80
- table.coverage td.line-count {
81
- text-align: right;
82
- padding: 0 5px 0 20px;
83
- }
84
- table.coverage td.line-coverage {
85
- text-align: right;
86
- padding-right: 10px;
87
- min-width:20px;
88
- }
89
-
90
- table.coverage td span.cline-any {
91
- display: inline-block;
92
- padding: 0 5px;
93
- width: 100%;
94
- }
95
- .missing-if-branch {
96
- display: inline-block;
97
- margin-right: 5px;
98
- border-radius: 3px;
99
- position: relative;
100
- padding: 0 4px;
101
- background: #333;
102
- color: yellow;
103
- }
104
-
105
- .skip-if-branch {
106
- display: none;
107
- margin-right: 10px;
108
- position: relative;
109
- padding: 0 4px;
110
- background: #ccc;
111
- color: white;
112
- }
113
- .missing-if-branch .typ, .skip-if-branch .typ {
114
- color: inherit !important;
115
- }
116
- .coverage-summary {
117
- border-collapse: collapse;
118
- width: 100%;
119
- }
120
- .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
- .keyline-all { border: 1px solid #ddd; }
122
- .coverage-summary td, .coverage-summary th { padding: 10px; }
123
- .coverage-summary tbody { border: 1px solid #bbb; }
124
- .coverage-summary td { border-right: 1px solid #bbb; }
125
- .coverage-summary td:last-child { border-right: none; }
126
- .coverage-summary th {
127
- text-align: left;
128
- font-weight: normal;
129
- white-space: nowrap;
130
- }
131
- .coverage-summary th.file { border-right: none !important; }
132
- .coverage-summary th.pct { }
133
- .coverage-summary th.pic,
134
- .coverage-summary th.abs,
135
- .coverage-summary td.pct,
136
- .coverage-summary td.abs { text-align: right; }
137
- .coverage-summary td.file { white-space: nowrap; }
138
- .coverage-summary td.pic { min-width: 120px !important; }
139
- .coverage-summary tfoot td { }
140
-
141
- .coverage-summary .sorter {
142
- height: 10px;
143
- width: 7px;
144
- display: inline-block;
145
- margin-left: 0.5em;
146
- background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
- }
148
- .coverage-summary .sorted .sorter {
149
- background-position: 0 -20px;
150
- }
151
- .coverage-summary .sorted-desc .sorter {
152
- background-position: 0 -10px;
153
- }
154
- .status-line { height: 10px; }
155
- /* yellow */
156
- .cbranch-no { background: yellow !important; color: #111; }
157
- /* dark red */
158
- .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
159
- .low .chart { border:1px solid #C21F39 }
160
- .highlighted,
161
- .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
162
- background: #C21F39 !important;
163
- }
164
- /* medium red */
165
- .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
166
- /* light red */
167
- .low, .cline-no { background:#FCE1E5 }
168
- /* light green */
169
- .high, .cline-yes { background:rgb(230,245,208) }
170
- /* medium green */
171
- .cstat-yes { background:rgb(161,215,106) }
172
- /* dark green */
173
- .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
174
- .high .chart { border:1px solid rgb(77,146,33) }
175
- /* dark yellow (gold) */
176
- .status-line.medium, .medium .cover-fill { background: #f9cd0b; }
177
- .medium .chart { border:1px solid #f9cd0b; }
178
- /* light yellow */
179
- .medium { background: #fff4c2; }
180
-
181
- .cstat-skip { background: #ddd; color: #111; }
182
- .fstat-skip { background: #ddd; color: #111 !important; }
183
- .cbranch-skip { background: #ddd !important; color: #111; }
184
-
185
- span.cline-neutral { background: #eaeaea; }
186
-
187
- .coverage-summary td.empty {
188
- opacity: .5;
189
- padding-top: 4px;
190
- padding-bottom: 4px;
191
- line-height: 1;
192
- color: #888;
193
- }
194
-
195
- .cover-fill, .cover-empty {
196
- display:inline-block;
197
- height: 12px;
198
- }
199
- .chart {
200
- line-height: 0;
201
- }
202
- .cover-empty {
203
- background: white;
204
- }
205
- .cover-full {
206
- border-right: none !important;
207
- }
208
- pre.prettyprint {
209
- border: none !important;
210
- padding: 0 !important;
211
- margin: 0 !important;
212
- }
213
- .com { color: #999 !important; }
214
- .ignore-none { color: #999; font-weight: normal; }
215
-
216
- .wrapper {
217
- min-height: 100%;
218
- height: auto !important;
219
- height: 100%;
220
- margin: 0 auto -48px;
221
- }
222
- .footer, .push {
223
- height: 48px;
224
- }
@@ -1,87 +0,0 @@
1
- /* eslint-disable */
2
- var jumpToCode = (function init() {
3
- // Classes of code we would like to highlight in the file view
4
- var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
5
-
6
- // Elements to highlight in the file listing view
7
- var fileListingElements = ['td.pct.low'];
8
-
9
- // We don't want to select elements that are direct descendants of another match
10
- var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
11
-
12
- // Selector that finds elements on the page to which we can jump
13
- var selector =
14
- fileListingElements.join(', ') +
15
- ', ' +
16
- notSelector +
17
- missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
18
-
19
- // The NodeList of matching elements
20
- var missingCoverageElements = document.querySelectorAll(selector);
21
-
22
- var currentIndex;
23
-
24
- function toggleClass(index) {
25
- missingCoverageElements
26
- .item(currentIndex)
27
- .classList.remove('highlighted');
28
- missingCoverageElements.item(index).classList.add('highlighted');
29
- }
30
-
31
- function makeCurrent(index) {
32
- toggleClass(index);
33
- currentIndex = index;
34
- missingCoverageElements.item(index).scrollIntoView({
35
- behavior: 'smooth',
36
- block: 'center',
37
- inline: 'center'
38
- });
39
- }
40
-
41
- function goToPrevious() {
42
- var nextIndex = 0;
43
- if (typeof currentIndex !== 'number' || currentIndex === 0) {
44
- nextIndex = missingCoverageElements.length - 1;
45
- } else if (missingCoverageElements.length > 1) {
46
- nextIndex = currentIndex - 1;
47
- }
48
-
49
- makeCurrent(nextIndex);
50
- }
51
-
52
- function goToNext() {
53
- var nextIndex = 0;
54
-
55
- if (
56
- typeof currentIndex === 'number' &&
57
- currentIndex < missingCoverageElements.length - 1
58
- ) {
59
- nextIndex = currentIndex + 1;
60
- }
61
-
62
- makeCurrent(nextIndex);
63
- }
64
-
65
- return function jump(event) {
66
- if (
67
- document.getElementById('fileSearch') === document.activeElement &&
68
- document.activeElement != null
69
- ) {
70
- // if we're currently focused on the search input, we don't want to navigate
71
- return;
72
- }
73
-
74
- switch (event.which) {
75
- case 78: // n
76
- case 74: // j
77
- goToNext();
78
- break;
79
- case 66: // b
80
- case 75: // k
81
- case 80: // p
82
- goToPrevious();
83
- break;
84
- }
85
- };
86
- })();
87
- window.addEventListener('keydown', jumpToCode);