@herdctl/core 0.0.1 → 0.0.2

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 (275) hide show
  1. package/dist/config/__tests__/agent.test.js +31 -13
  2. package/dist/config/__tests__/agent.test.js.map +1 -1
  3. package/dist/config/__tests__/merge.test.js +9 -2
  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 +828 -24
  12. package/dist/config/schema.d.ts.map +1 -1
  13. package/dist/config/schema.js +118 -6
  14. package/dist/config/schema.js.map +1 -1
  15. package/dist/fleet-manager/__tests__/coverage.test.js +11 -332
  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 +109 -0
  20. package/dist/fleet-manager/__tests__/integration.test.js.map +1 -1
  21. package/dist/fleet-manager/__tests__/reload.test.js +1 -1
  22. package/dist/fleet-manager/__tests__/reload.test.js.map +1 -1
  23. package/dist/fleet-manager/config-reload.d.ts +164 -0
  24. package/dist/fleet-manager/config-reload.d.ts.map +1 -0
  25. package/dist/fleet-manager/config-reload.js +445 -0
  26. package/dist/fleet-manager/config-reload.js.map +1 -0
  27. package/dist/fleet-manager/context.d.ts +76 -0
  28. package/dist/fleet-manager/context.d.ts.map +1 -0
  29. package/dist/fleet-manager/context.js +11 -0
  30. package/dist/fleet-manager/context.js.map +1 -0
  31. package/dist/fleet-manager/errors.d.ts +0 -25
  32. package/dist/fleet-manager/errors.d.ts.map +1 -1
  33. package/dist/fleet-manager/errors.js +0 -38
  34. package/dist/fleet-manager/errors.js.map +1 -1
  35. package/dist/fleet-manager/event-emitters.d.ts +123 -0
  36. package/dist/fleet-manager/event-emitters.d.ts.map +1 -0
  37. package/dist/fleet-manager/event-emitters.js +136 -0
  38. package/dist/fleet-manager/event-emitters.js.map +1 -0
  39. package/dist/fleet-manager/event-types.d.ts +0 -15
  40. package/dist/fleet-manager/event-types.d.ts.map +1 -1
  41. package/dist/fleet-manager/fleet-manager.d.ts +40 -653
  42. package/dist/fleet-manager/fleet-manager.d.ts.map +1 -1
  43. package/dist/fleet-manager/fleet-manager.js +95 -1720
  44. package/dist/fleet-manager/fleet-manager.js.map +1 -1
  45. package/dist/fleet-manager/index.d.ts +13 -2
  46. package/dist/fleet-manager/index.d.ts.map +1 -1
  47. package/dist/fleet-manager/index.js +19 -6
  48. package/dist/fleet-manager/index.js.map +1 -1
  49. package/dist/fleet-manager/job-control.d.ts +64 -0
  50. package/dist/fleet-manager/job-control.d.ts.map +1 -0
  51. package/dist/fleet-manager/job-control.js +296 -0
  52. package/dist/fleet-manager/job-control.js.map +1 -0
  53. package/dist/fleet-manager/log-streaming.d.ts +171 -0
  54. package/dist/fleet-manager/log-streaming.d.ts.map +1 -0
  55. package/dist/fleet-manager/log-streaming.js +503 -0
  56. package/dist/fleet-manager/log-streaming.js.map +1 -0
  57. package/dist/fleet-manager/schedule-executor.d.ts +63 -0
  58. package/dist/fleet-manager/schedule-executor.d.ts.map +1 -0
  59. package/dist/fleet-manager/schedule-executor.js +209 -0
  60. package/dist/fleet-manager/schedule-executor.js.map +1 -0
  61. package/dist/fleet-manager/schedule-management.d.ts +71 -0
  62. package/dist/fleet-manager/schedule-management.d.ts.map +1 -0
  63. package/dist/fleet-manager/schedule-management.js +171 -0
  64. package/dist/fleet-manager/schedule-management.js.map +1 -0
  65. package/dist/fleet-manager/status-queries.d.ts +105 -0
  66. package/dist/fleet-manager/status-queries.d.ts.map +1 -0
  67. package/dist/fleet-manager/status-queries.js +247 -0
  68. package/dist/fleet-manager/status-queries.js.map +1 -0
  69. package/dist/fleet-manager/types.d.ts +0 -39
  70. package/dist/fleet-manager/types.d.ts.map +1 -1
  71. package/dist/runner/__tests__/job-executor.test.js +206 -1
  72. package/dist/runner/__tests__/job-executor.test.js.map +1 -1
  73. package/dist/runner/job-executor.d.ts +9 -0
  74. package/dist/runner/job-executor.d.ts.map +1 -1
  75. package/dist/runner/job-executor.js +78 -4
  76. package/dist/runner/job-executor.js.map +1 -1
  77. package/dist/runner/types.d.ts +2 -0
  78. package/dist/runner/types.d.ts.map +1 -1
  79. package/dist/scheduler/__tests__/cron.test.d.ts +2 -0
  80. package/dist/scheduler/__tests__/cron.test.d.ts.map +1 -0
  81. package/dist/scheduler/__tests__/cron.test.js +867 -0
  82. package/dist/scheduler/__tests__/cron.test.js.map +1 -0
  83. package/dist/scheduler/__tests__/scheduler.test.js +164 -5
  84. package/dist/scheduler/__tests__/scheduler.test.js.map +1 -1
  85. package/dist/scheduler/cron.d.ts +126 -0
  86. package/dist/scheduler/cron.d.ts.map +1 -0
  87. package/dist/scheduler/cron.js +390 -0
  88. package/dist/scheduler/cron.js.map +1 -0
  89. package/dist/scheduler/errors.d.ts +81 -1
  90. package/dist/scheduler/errors.d.ts.map +1 -1
  91. package/dist/scheduler/errors.js +81 -6
  92. package/dist/scheduler/errors.js.map +1 -1
  93. package/dist/scheduler/index.d.ts +1 -0
  94. package/dist/scheduler/index.d.ts.map +1 -1
  95. package/dist/scheduler/index.js +2 -0
  96. package/dist/scheduler/index.js.map +1 -1
  97. package/dist/scheduler/schedule-runner.d.ts +2 -2
  98. package/dist/scheduler/schedule-runner.d.ts.map +1 -1
  99. package/dist/scheduler/schedule-runner.js +20 -8
  100. package/dist/scheduler/schedule-runner.js.map +1 -1
  101. package/dist/scheduler/scheduler.d.ts +4 -4
  102. package/dist/scheduler/scheduler.d.ts.map +1 -1
  103. package/dist/scheduler/scheduler.js +86 -20
  104. package/dist/scheduler/scheduler.js.map +1 -1
  105. package/dist/scheduler/types.d.ts +1 -1
  106. package/dist/scheduler/types.d.ts.map +1 -1
  107. package/dist/state/schemas/job-metadata.d.ts +2 -2
  108. package/package.json +33 -8
  109. package/.turbo/turbo-build.log +0 -4
  110. package/.turbo/turbo-test.log +0 -219
  111. package/.turbo/turbo-typecheck.log +0 -4
  112. package/coverage/base.css +0 -224
  113. package/coverage/block-navigation.js +0 -87
  114. package/coverage/coverage-final.json +0 -51
  115. package/coverage/favicon.png +0 -0
  116. package/coverage/index.html +0 -251
  117. package/coverage/prettify.css +0 -1
  118. package/coverage/prettify.js +0 -2
  119. package/coverage/sort-arrow-sprite.png +0 -0
  120. package/coverage/sorter.js +0 -210
  121. package/coverage/src/config/index.html +0 -191
  122. package/coverage/src/config/index.ts.html +0 -442
  123. package/coverage/src/config/interpolate.ts.html +0 -652
  124. package/coverage/src/config/loader.ts.html +0 -1501
  125. package/coverage/src/config/merge.ts.html +0 -823
  126. package/coverage/src/config/parser.ts.html +0 -1213
  127. package/coverage/src/config/schema.ts.html +0 -1123
  128. package/coverage/src/fleet-manager/errors.ts.html +0 -2326
  129. package/coverage/src/fleet-manager/event-types.ts.html +0 -1219
  130. package/coverage/src/fleet-manager/fleet-manager.ts.html +0 -7030
  131. package/coverage/src/fleet-manager/index.html +0 -206
  132. package/coverage/src/fleet-manager/index.ts.html +0 -469
  133. package/coverage/src/fleet-manager/job-manager.ts.html +0 -2074
  134. package/coverage/src/fleet-manager/job-queue.ts.html +0 -2479
  135. package/coverage/src/fleet-manager/types.ts.html +0 -2602
  136. package/coverage/src/index.html +0 -116
  137. package/coverage/src/index.ts.html +0 -181
  138. package/coverage/src/runner/errors.ts.html +0 -1006
  139. package/coverage/src/runner/index.html +0 -191
  140. package/coverage/src/runner/index.ts.html +0 -256
  141. package/coverage/src/runner/job-executor.ts.html +0 -1429
  142. package/coverage/src/runner/message-processor.ts.html +0 -1150
  143. package/coverage/src/runner/sdk-adapter.ts.html +0 -658
  144. package/coverage/src/runner/types.ts.html +0 -559
  145. package/coverage/src/scheduler/errors.ts.html +0 -388
  146. package/coverage/src/scheduler/index.html +0 -206
  147. package/coverage/src/scheduler/index.ts.html +0 -244
  148. package/coverage/src/scheduler/interval.ts.html +0 -652
  149. package/coverage/src/scheduler/schedule-runner.ts.html +0 -1411
  150. package/coverage/src/scheduler/schedule-state.ts.html +0 -718
  151. package/coverage/src/scheduler/scheduler.ts.html +0 -1795
  152. package/coverage/src/scheduler/types.ts.html +0 -733
  153. package/coverage/src/state/directory.ts.html +0 -736
  154. package/coverage/src/state/errors.ts.html +0 -376
  155. package/coverage/src/state/fleet-state.ts.html +0 -937
  156. package/coverage/src/state/index.html +0 -221
  157. package/coverage/src/state/index.ts.html +0 -322
  158. package/coverage/src/state/job-metadata.ts.html +0 -1420
  159. package/coverage/src/state/job-output.ts.html +0 -1033
  160. package/coverage/src/state/schemas/fleet-state.ts.html +0 -445
  161. package/coverage/src/state/schemas/index.html +0 -176
  162. package/coverage/src/state/schemas/index.ts.html +0 -286
  163. package/coverage/src/state/schemas/job-metadata.ts.html +0 -628
  164. package/coverage/src/state/schemas/job-output.ts.html +0 -616
  165. package/coverage/src/state/schemas/session-info.ts.html +0 -361
  166. package/coverage/src/state/session.ts.html +0 -844
  167. package/coverage/src/state/types.ts.html +0 -262
  168. package/coverage/src/state/utils/atomic.ts.html +0 -748
  169. package/coverage/src/state/utils/index.html +0 -146
  170. package/coverage/src/state/utils/index.ts.html +0 -103
  171. package/coverage/src/state/utils/reads.ts.html +0 -1621
  172. package/coverage/src/work-sources/adapters/github.ts.html +0 -3583
  173. package/coverage/src/work-sources/adapters/index.html +0 -131
  174. package/coverage/src/work-sources/adapters/index.ts.html +0 -277
  175. package/coverage/src/work-sources/errors.ts.html +0 -298
  176. package/coverage/src/work-sources/index.html +0 -176
  177. package/coverage/src/work-sources/index.ts.html +0 -529
  178. package/coverage/src/work-sources/manager.ts.html +0 -1324
  179. package/coverage/src/work-sources/registry.ts.html +0 -619
  180. package/coverage/src/work-sources/types.ts.html +0 -568
  181. package/dist/fleet-manager/__tests__/event-helpers.test.d.ts +0 -7
  182. package/dist/fleet-manager/__tests__/event-helpers.test.d.ts.map +0 -1
  183. package/dist/fleet-manager/__tests__/event-helpers.test.js +0 -368
  184. package/dist/fleet-manager/__tests__/event-helpers.test.js.map +0 -1
  185. package/src/config/__tests__/agent.test.ts +0 -864
  186. package/src/config/__tests__/interpolate.test.ts +0 -644
  187. package/src/config/__tests__/loader.test.ts +0 -784
  188. package/src/config/__tests__/merge.test.ts +0 -751
  189. package/src/config/__tests__/parser.test.ts +0 -533
  190. package/src/config/__tests__/schema.test.ts +0 -873
  191. package/src/config/index.ts +0 -119
  192. package/src/config/interpolate.ts +0 -189
  193. package/src/config/loader.ts +0 -472
  194. package/src/config/merge.ts +0 -246
  195. package/src/config/parser.ts +0 -376
  196. package/src/config/schema.ts +0 -346
  197. package/src/fleet-manager/__tests__/coverage.test.ts +0 -2869
  198. package/src/fleet-manager/__tests__/errors.test.ts +0 -660
  199. package/src/fleet-manager/__tests__/event-helpers.test.ts +0 -448
  200. package/src/fleet-manager/__tests__/integration.test.ts +0 -1209
  201. package/src/fleet-manager/__tests__/job-control.test.ts +0 -283
  202. package/src/fleet-manager/__tests__/job-manager.test.ts +0 -869
  203. package/src/fleet-manager/__tests__/job-queue.test.ts +0 -401
  204. package/src/fleet-manager/__tests__/reload.test.ts +0 -751
  205. package/src/fleet-manager/__tests__/status-queries.test.ts +0 -595
  206. package/src/fleet-manager/__tests__/trigger.test.ts +0 -601
  207. package/src/fleet-manager/errors.ts +0 -747
  208. package/src/fleet-manager/event-types.ts +0 -378
  209. package/src/fleet-manager/fleet-manager.ts +0 -2315
  210. package/src/fleet-manager/index.ts +0 -128
  211. package/src/fleet-manager/job-manager.ts +0 -663
  212. package/src/fleet-manager/job-queue.ts +0 -798
  213. package/src/fleet-manager/types.ts +0 -839
  214. package/src/index.ts +0 -32
  215. package/src/runner/__tests__/errors.test.ts +0 -382
  216. package/src/runner/__tests__/job-executor.test.ts +0 -1708
  217. package/src/runner/__tests__/message-processor.test.ts +0 -960
  218. package/src/runner/__tests__/sdk-adapter.test.ts +0 -626
  219. package/src/runner/errors.ts +0 -307
  220. package/src/runner/index.ts +0 -57
  221. package/src/runner/job-executor.ts +0 -448
  222. package/src/runner/message-processor.ts +0 -355
  223. package/src/runner/sdk-adapter.ts +0 -191
  224. package/src/runner/types.ts +0 -158
  225. package/src/scheduler/__tests__/errors.test.ts +0 -159
  226. package/src/scheduler/__tests__/interval.test.ts +0 -515
  227. package/src/scheduler/__tests__/schedule-runner.test.ts +0 -798
  228. package/src/scheduler/__tests__/schedule-state.test.ts +0 -671
  229. package/src/scheduler/__tests__/scheduler.test.ts +0 -1280
  230. package/src/scheduler/errors.ts +0 -101
  231. package/src/scheduler/index.ts +0 -53
  232. package/src/scheduler/interval.ts +0 -189
  233. package/src/scheduler/schedule-runner.ts +0 -442
  234. package/src/scheduler/schedule-state.ts +0 -211
  235. package/src/scheduler/scheduler.ts +0 -570
  236. package/src/scheduler/types.ts +0 -216
  237. package/src/state/__tests__/directory.test.ts +0 -595
  238. package/src/state/__tests__/fleet-state.test.ts +0 -868
  239. package/src/state/__tests__/job-metadata-schema.test.ts +0 -414
  240. package/src/state/__tests__/job-metadata.test.ts +0 -831
  241. package/src/state/__tests__/job-output.test.ts +0 -856
  242. package/src/state/__tests__/session-schema.test.ts +0 -378
  243. package/src/state/__tests__/session.test.ts +0 -604
  244. package/src/state/directory.ts +0 -217
  245. package/src/state/errors.ts +0 -97
  246. package/src/state/fleet-state.ts +0 -284
  247. package/src/state/index.ts +0 -79
  248. package/src/state/job-metadata.ts +0 -445
  249. package/src/state/job-output.ts +0 -316
  250. package/src/state/schemas/__tests__/job-output.test.ts +0 -338
  251. package/src/state/schemas/fleet-state.ts +0 -120
  252. package/src/state/schemas/index.ts +0 -67
  253. package/src/state/schemas/job-metadata.ts +0 -181
  254. package/src/state/schemas/job-output.ts +0 -177
  255. package/src/state/schemas/session-info.ts +0 -92
  256. package/src/state/session.ts +0 -253
  257. package/src/state/types.ts +0 -59
  258. package/src/state/utils/__tests__/atomic.test.ts +0 -723
  259. package/src/state/utils/__tests__/reads.test.ts +0 -1071
  260. package/src/state/utils/atomic.ts +0 -221
  261. package/src/state/utils/index.ts +0 -6
  262. package/src/state/utils/reads.ts +0 -512
  263. package/src/work-sources/__tests__/github.test.ts +0 -1800
  264. package/src/work-sources/__tests__/manager.test.ts +0 -529
  265. package/src/work-sources/__tests__/registry.test.ts +0 -477
  266. package/src/work-sources/__tests__/types.test.ts +0 -479
  267. package/src/work-sources/adapters/github.ts +0 -1166
  268. package/src/work-sources/adapters/index.ts +0 -64
  269. package/src/work-sources/errors.ts +0 -71
  270. package/src/work-sources/index.ts +0 -148
  271. package/src/work-sources/manager.ts +0 -413
  272. package/src/work-sources/registry.ts +0 -178
  273. package/src/work-sources/types.ts +0 -161
  274. package/tsconfig.json +0 -9
  275. package/vitest.config.ts +0 -19
@@ -8,6 +8,8 @@
8
8
  export * from "./errors.js";
9
9
  // Interval parsing and scheduling
10
10
  export { parseInterval, calculateNextTrigger, isScheduleDue, } from "./interval.js";
11
+ // Cron expression parsing
12
+ export { parseCronExpression, getNextCronTrigger, calculateNextCronTrigger, isValidCronExpression, } from "./cron.js";
11
13
  // Schedule state management
12
14
  export { getScheduleState, updateScheduleState, getAgentScheduleStates, } from "./schedule-state.js";
13
15
  // Scheduler class
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,SAAS;AACT,cAAc,aAAa,CAAC;AAE5B,kCAAkC;AAClC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,4BAA4B;AAC5B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GAIvB,MAAM,qBAAqB,CAAC;AAgB7B,kBAAkB;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,mBAAmB,GAKpB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,SAAS;AACT,cAAc,aAAa,CAAC;AAE5B,kCAAkC;AAClC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,0BAA0B;AAC1B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,GAGtB,MAAM,WAAW,CAAC;AAEnB,4BAA4B;AAC5B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GAIvB,MAAM,qBAAqB,CAAC;AAgB7B,kBAAkB;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,mBAAmB,GAKpB,MAAM,sBAAsB,CAAC"}
@@ -25,8 +25,8 @@ export interface ScheduleRunnerLogger {
25
25
  * Trigger metadata passed to the JobExecutor
26
26
  */
27
27
  export interface TriggerMetadata {
28
- /** The type of trigger */
29
- triggerType: "interval";
28
+ /** The type of trigger (interval or cron) */
29
+ triggerType: "interval" | "cron";
30
30
  /** The name of the schedule that triggered */
31
31
  schedule: string;
32
32
  /** Work item ID if this run is processing a work item */
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-runner.d.ts","sourceRoot":"","sources":["../../src/scheduler/schedule-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EAGT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAW1E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,WAAW,EAAE,UAAU,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,6BAA6B;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,sBAAsB;IACtB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,oCAAoC;IACpC,eAAe,CAAC,EAAE,kBAAkB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oDAAoD;IACpD,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CAoBR;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAiL5B"}
1
+ {"version":3,"file":"schedule-runner.d.ts","sourceRoot":"","sources":["../../src/scheduler/schedule-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EAGT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAY1E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;IACjC,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,6BAA6B;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,sBAAsB;IACtB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,oCAAoC;IACpC,eAAe,CAAC,EAAE,kBAAkB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oDAAoD;IACpD,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CAoBR;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA6K5B"}
@@ -10,6 +10,7 @@
10
10
  import { JobExecutor } from "../runner/index.js";
11
11
  import { updateScheduleState, } from "./schedule-state.js";
12
12
  import { calculateNextTrigger } from "./interval.js";
13
+ import { calculateNextCronTrigger } from "./cron.js";
13
14
  // =============================================================================
14
15
  // Default Logger
15
16
  // =============================================================================
@@ -181,7 +182,7 @@ export async function runSchedule(options) {
181
182
  const prompt = buildSchedulePrompt(schedule, workItem);
182
183
  // Step 4: Build trigger metadata
183
184
  const triggerMetadata = {
184
- triggerType: "interval",
185
+ triggerType: schedule.type === "cron" ? "cron" : "interval",
185
186
  schedule: scheduleName,
186
187
  };
187
188
  if (workItem) {
@@ -211,10 +212,8 @@ export async function runSchedule(options) {
211
212
  // Don't fail the overall run if reporting fails
212
213
  }
213
214
  }
214
- // Step 7: Calculate next trigger time
215
- const nextTrigger = schedule.interval
216
- ? calculateNextTrigger(new Date(), schedule.interval)
217
- : null;
215
+ // Step 7: Calculate next trigger time based on schedule type
216
+ const nextTrigger = calculateNextScheduleTrigger(schedule);
218
217
  // Step 8: Update schedule state with success
219
218
  await updateScheduleState(stateDir, agent.name, scheduleName, {
220
219
  status: "idle",
@@ -246,9 +245,7 @@ export async function runSchedule(options) {
246
245
  }
247
246
  }
248
247
  // Calculate next trigger time even on error
249
- const nextTrigger = schedule.interval
250
- ? calculateNextTrigger(new Date(), schedule.interval)
251
- : null;
248
+ const nextTrigger = calculateNextScheduleTrigger(schedule);
252
249
  // Update schedule state with error
253
250
  await updateScheduleState(stateDir, agent.name, scheduleName, {
254
251
  status: "idle",
@@ -262,6 +259,21 @@ export async function runSchedule(options) {
262
259
  // =============================================================================
263
260
  // Helper Functions
264
261
  // =============================================================================
262
+ /**
263
+ * Calculate the next trigger time for a schedule based on its type
264
+ *
265
+ * @param schedule - The schedule configuration
266
+ * @returns The next trigger time as a Date, or null if the schedule type is unsupported
267
+ */
268
+ function calculateNextScheduleTrigger(schedule) {
269
+ if (schedule.type === "interval" && schedule.interval) {
270
+ return calculateNextTrigger(new Date(), schedule.interval);
271
+ }
272
+ else if (schedule.type === "cron" && schedule.expression) {
273
+ return calculateNextCronTrigger(schedule.expression);
274
+ }
275
+ return null;
276
+ }
265
277
  /**
266
278
  * Build a WorkResult from a RunnerResult for reporting to work sources
267
279
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-runner.js","sourceRoot":"","sources":["../../src/scheduler/schedule-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-runner.js","sourceRoot":"","sources":["../../src/scheduler/schedule-runner.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Scheduler class for managing agent schedule execution
3
3
  *
4
- * The Scheduler continuously checks all agents' interval schedules and triggers
5
- * due agents according to their configured intervals.
4
+ * The Scheduler continuously checks all agents' interval and cron schedules and triggers
5
+ * due agents according to their configured schedules.
6
6
  */
7
7
  import type { ResolvedAgent } from "../config/index.js";
8
8
  import type { SchedulerOptions, SchedulerStatus, SchedulerState, StopOptions } from "./types.js";
@@ -10,8 +10,8 @@ import type { SchedulerOptions, SchedulerStatus, SchedulerState, StopOptions } f
10
10
  * Scheduler for managing agent schedule execution
11
11
  *
12
12
  * The Scheduler runs a polling loop that:
13
- * 1. Checks all agents' interval schedules on each iteration
14
- * 2. Skips non-interval schedule types (cron, webhook, chat)
13
+ * 1. Checks all agents' interval and cron schedules on each iteration
14
+ * 2. Skips unsupported schedule types (webhook, chat)
15
15
  * 3. Skips disabled schedules
16
16
  * 4. Skips agents at max_concurrent capacity
17
17
  * 5. Triggers due schedules via the onTrigger callback
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EAMd,WAAW,EACZ,MAAM,YAAY,CAAC;AAqCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA2B;IAEtD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,WAAW,CAAyC;IAE5D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAuB;gBAE9B,OAAO,EAAE,gBAAgB;IAOrC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,QAAQ,IAAI,cAAc;IAU1B;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BnD;;;;;;;;;OASG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDhD;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAKxC;;OAEG;YACW,OAAO;IAmBrB;;OAEG;IACH,OAAO,CAAC,KAAK;IAeb;;OAEG;YACW,iBAAiB;IAmB/B;;OAEG;YACW,aAAa;IAuG3B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;OAOG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI7C;;;;;;OAMG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;OAEG;YACW,eAAe;IA2C7B;;OAEG;YACW,UAAU;CAqEzB"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQxD,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EAMd,WAAW,EACZ,MAAM,YAAY,CAAC;AAqCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA2B;IAEtD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,WAAW,CAAyC;IAE5D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAuB;gBAE9B,OAAO,EAAE,gBAAgB;IAOrC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,QAAQ,IAAI,cAAc;IAU1B;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BnD;;;;;;;;;OASG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDhD;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAKxC;;OAEG;YACW,OAAO;IAmBrB;;OAEG;IACH,OAAO,CAAC,KAAK;IAeb;;OAEG;YACW,iBAAiB;IAmB/B;;OAEG;YACW,aAAa;IA4K3B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;OAOG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI7C;;;;;;OAMG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;OAEG;YACW,eAAe;IA2C7B;;OAEG;YACW,UAAU;CAwEzB"}
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * Scheduler class for managing agent schedule execution
3
3
  *
4
- * The Scheduler continuously checks all agents' interval schedules and triggers
5
- * due agents according to their configured intervals.
4
+ * The Scheduler continuously checks all agents' interval and cron schedules and triggers
5
+ * due agents according to their configured schedules.
6
6
  */
7
7
  import { calculateNextTrigger, isScheduleDue } from "./interval.js";
8
+ import { calculateNextCronTrigger, calculatePreviousCronTrigger, isValidCronExpression } from "./cron.js";
8
9
  import { getScheduleState, updateScheduleState, } from "./schedule-state.js";
9
10
  import { SchedulerShutdownError } from "./errors.js";
10
11
  // =============================================================================
@@ -39,8 +40,8 @@ function createDefaultLogger() {
39
40
  * Scheduler for managing agent schedule execution
40
41
  *
41
42
  * The Scheduler runs a polling loop that:
42
- * 1. Checks all agents' interval schedules on each iteration
43
- * 2. Skips non-interval schedule types (cron, webhook, chat)
43
+ * 1. Checks all agents' interval and cron schedules on each iteration
44
+ * 2. Skips unsupported schedule types (webhook, chat)
44
45
  * 3. Skips disabled schedules
45
46
  * 4. Skips agents at max_concurrent capacity
46
47
  * 5. Triggers due schedules via the onTrigger callback
@@ -245,12 +246,12 @@ export class Scheduler {
245
246
  agentName: agent.name,
246
247
  scheduleName,
247
248
  };
248
- // Skip non-interval schedule types (cron, webhook, chat reserved for future)
249
- if (schedule.type !== "interval") {
249
+ // Skip unsupported schedule types (webhook, chat)
250
+ if (schedule.type !== "interval" && schedule.type !== "cron") {
250
251
  return {
251
252
  ...baseResult,
252
253
  shouldTrigger: false,
253
- skipReason: "not_interval",
254
+ skipReason: "unsupported_type",
254
255
  };
255
256
  }
256
257
  // Get current schedule state
@@ -288,19 +289,80 @@ export class Scheduler {
288
289
  skipReason: "at_capacity",
289
290
  };
290
291
  }
291
- // Calculate next trigger time
292
+ // Calculate next trigger time based on schedule type
292
293
  const lastRunAt = scheduleState.last_run_at
293
294
  ? new Date(scheduleState.last_run_at)
294
295
  : null;
295
- if (!schedule.interval) {
296
- this.logger.warn(`Skipping ${agent.name}/${scheduleName}: interval schedule missing interval value`);
297
- return {
298
- ...baseResult,
299
- shouldTrigger: false,
300
- skipReason: "not_interval",
301
- };
296
+ let nextTrigger;
297
+ if (schedule.type === "interval") {
298
+ if (!schedule.interval) {
299
+ this.logger.warn(`Skipping ${agent.name}/${scheduleName}: interval schedule missing interval value`);
300
+ return {
301
+ ...baseResult,
302
+ shouldTrigger: false,
303
+ skipReason: "unsupported_type",
304
+ };
305
+ }
306
+ nextTrigger = calculateNextTrigger(lastRunAt, schedule.interval);
307
+ }
308
+ else {
309
+ // schedule.type === "cron"
310
+ if (!schedule.expression) {
311
+ this.logger.warn(`Skipping ${agent.name}/${scheduleName}: cron schedule missing expression value`);
312
+ return {
313
+ ...baseResult,
314
+ shouldTrigger: false,
315
+ skipReason: "unsupported_type",
316
+ };
317
+ }
318
+ // Validate cron expression (defense in depth - should be validated at config load time)
319
+ if (!isValidCronExpression(schedule.expression)) {
320
+ this.logger.warn(`Skipping ${agent.name}/${scheduleName}: invalid cron expression "${schedule.expression}"`);
321
+ return {
322
+ ...baseResult,
323
+ shouldTrigger: false,
324
+ skipReason: "unsupported_type",
325
+ };
326
+ }
327
+ const now = new Date();
328
+ if (lastRunAt) {
329
+ // Calculate next cron occurrence after the last run
330
+ const nextAfterLastRun = calculateNextCronTrigger(schedule.expression, lastRunAt);
331
+ if (nextAfterLastRun <= now) {
332
+ // The next scheduled time after lastRunAt is in the past (we missed it)
333
+ // Skip catch-up: get the next FUTURE occurrence instead
334
+ nextTrigger = calculateNextCronTrigger(schedule.expression, now);
335
+ }
336
+ else {
337
+ // The next scheduled time is in the future, but may be due soon
338
+ nextTrigger = nextAfterLastRun;
339
+ }
340
+ }
341
+ else {
342
+ // For NEW cron schedules (no lastRunAt), determine if we're in a "trigger window"
343
+ // We use the previous cron time as a reference point and compare with current time
344
+ const previousTrigger = calculatePreviousCronTrigger(schedule.expression);
345
+ const nextFutureTrigger = calculateNextCronTrigger(schedule.expression);
346
+ // Calculate the cron interval (time between previous and next)
347
+ const intervalMs = nextFutureTrigger.getTime() - previousTrigger.getTime();
348
+ // Allow triggering if we're within the first portion of the interval after a cron time
349
+ // For very fast crons (<= 1 minute), use half the interval
350
+ // For slower crons, use 1/60th of the interval (capped at 5 minutes)
351
+ const triggerWindowMs = intervalMs <= 60000
352
+ ? Math.floor(intervalMs / 2) // Half interval for fast crons (up to 30s for 1-minute cron)
353
+ : Math.min(Math.floor(intervalMs / 60), 5 * 60 * 1000); // Max 5 minutes
354
+ const timeSincePrevious = now.getTime() - previousTrigger.getTime();
355
+ if (timeSincePrevious <= triggerWindowMs) {
356
+ // We're within the trigger window after the previous cron time
357
+ // Use previousTrigger as nextTrigger so we're "due"
358
+ nextTrigger = previousTrigger;
359
+ }
360
+ else {
361
+ // We're past the trigger window, wait for the next scheduled time
362
+ nextTrigger = nextFutureTrigger;
363
+ }
364
+ }
302
365
  }
303
- const nextTrigger = calculateNextTrigger(lastRunAt, schedule.interval);
304
366
  // Check if schedule is due
305
367
  if (!isScheduleDue(nextTrigger)) {
306
368
  return {
@@ -393,10 +455,14 @@ export class Scheduler {
393
455
  };
394
456
  await this.onTrigger(triggerInfo);
395
457
  }
396
- // Calculate next trigger time
397
- const nextTrigger = schedule.interval
398
- ? calculateNextTrigger(new Date(), schedule.interval)
399
- : null;
458
+ // Calculate next trigger time based on schedule type
459
+ let nextTrigger = null;
460
+ if (schedule.type === "interval" && schedule.interval) {
461
+ nextTrigger = calculateNextTrigger(new Date(), schedule.interval);
462
+ }
463
+ else if (schedule.type === "cron" && schedule.expression) {
464
+ nextTrigger = calculateNextCronTrigger(schedule.expression);
465
+ }
400
466
  // Update schedule state to idle with next run time
401
467
  await updateScheduleState(this.stateDir, agent.name, scheduleName, {
402
468
  status: "idle",
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
@@ -86,7 +86,7 @@ export interface SchedulerState {
86
86
  /**
87
87
  * Reason why a schedule was skipped
88
88
  */
89
- export type ScheduleSkipReason = "disabled" | "not_interval" | "not_due" | "at_capacity" | "already_running";
89
+ export type ScheduleSkipReason = "disabled" | "unsupported_type" | "not_due" | "at_capacity" | "already_running";
90
90
  /**
91
91
  * Result of checking a single schedule
92
92
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scheduler/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAMrE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAMD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,cAAc,GACd,SAAS,GACT,aAAa,GACb,iBAAiB,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAM5E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEpC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scheduler/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAMrE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAMD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,kBAAkB,GAClB,SAAS,GACT,aAAa,GACb,iBAAiB,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAM5E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEpC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -53,8 +53,8 @@ export declare const JobMetadataSchema: z.ZodObject<{
53
53
  output_file: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
54
  }, "strip", z.ZodTypeAny, {
55
55
  status: "running" | "pending" | "completed" | "failed" | "cancelled";
56
- started_at: string;
57
56
  id: string;
57
+ started_at: string;
58
58
  agent: string;
59
59
  trigger_type: "webhook" | "chat" | "manual" | "schedule" | "fork";
60
60
  prompt?: string | null | undefined;
@@ -68,8 +68,8 @@ export declare const JobMetadataSchema: z.ZodObject<{
68
68
  output_file?: string | null | undefined;
69
69
  }, {
70
70
  status: "running" | "pending" | "completed" | "failed" | "cancelled";
71
- started_at: string;
72
71
  id: string;
72
+ started_at: string;
73
73
  agent: string;
74
74
  trigger_type: "webhook" | "chat" | "manual" | "schedule" | "fork";
75
75
  prompt?: string | null | undefined;
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@herdctl/core",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
+ "description": "Core library for herdctl fleet management",
5
+ "license": "MIT",
4
6
  "type": "module",
5
7
  "main": "./dist/index.js",
6
8
  "types": "./dist/index.d.ts",
7
- "scripts": {
8
- "build": "tsc",
9
- "dev": "tsc --watch",
10
- "typecheck": "tsc --noEmit",
11
- "test": "vitest run --coverage"
12
- },
9
+ "files": [
10
+ "dist"
11
+ ],
13
12
  "dependencies": {
14
13
  "@anthropic-ai/claude-agent-sdk": "^0.1.0",
14
+ "cron-parser": "^4.9.0",
15
15
  "yaml": "^2.3.0",
16
16
  "zod": "^3.22.0"
17
17
  },
@@ -19,5 +19,30 @@
19
19
  "@vitest/coverage-v8": "^4.0.17",
20
20
  "typescript": "^5",
21
21
  "vitest": "^4.0.17"
22
+ },
23
+ "homepage": "https://herdctl.dev",
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/edspencer/herdctl"
27
+ },
28
+ "keywords": [
29
+ "claude",
30
+ "agent",
31
+ "fleet",
32
+ "orchestration",
33
+ "anthropic"
34
+ ],
35
+ "engines": {
36
+ "node": ">=18"
37
+ },
38
+ "publishConfig": {
39
+ "access": "public",
40
+ "provenance": true
41
+ },
42
+ "scripts": {
43
+ "build": "tsc",
44
+ "dev": "tsc --watch",
45
+ "typecheck": "tsc --noEmit",
46
+ "test": "vitest run --coverage"
22
47
  }
23
- }
48
+ }
@@ -1,4 +0,0 @@
1
-
2
- > @herdctl/core@0.0.1 build /Users/ed/Code/overseer-clones/herdctl/packages/core
3
- > tsc
4
-