@telora/daemon 0.12.33

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 (473) hide show
  1. package/.env.example +64 -0
  2. package/README.md +229 -0
  3. package/build-info.json +4 -0
  4. package/dist/activity-tracker.d.ts +13 -0
  5. package/dist/activity-tracker.d.ts.map +1 -0
  6. package/dist/activity-tracker.js +19 -0
  7. package/dist/activity-tracker.js.map +1 -0
  8. package/dist/agent-state.d.ts +45 -0
  9. package/dist/agent-state.d.ts.map +1 -0
  10. package/dist/agent-state.js +61 -0
  11. package/dist/agent-state.js.map +1 -0
  12. package/dist/audit-hooks.d.ts +12 -0
  13. package/dist/audit-hooks.d.ts.map +1 -0
  14. package/dist/audit-hooks.js +45 -0
  15. package/dist/audit-hooks.js.map +1 -0
  16. package/dist/auto-update.d.ts +42 -0
  17. package/dist/auto-update.d.ts.map +1 -0
  18. package/dist/auto-update.js +96 -0
  19. package/dist/auto-update.js.map +1 -0
  20. package/dist/branch-status.d.ts +40 -0
  21. package/dist/branch-status.d.ts.map +1 -0
  22. package/dist/branch-status.js +107 -0
  23. package/dist/branch-status.js.map +1 -0
  24. package/dist/completion-detector.d.ts +87 -0
  25. package/dist/completion-detector.d.ts.map +1 -0
  26. package/dist/completion-detector.js +160 -0
  27. package/dist/completion-detector.js.map +1 -0
  28. package/dist/completion-handler.d.ts +48 -0
  29. package/dist/completion-handler.d.ts.map +1 -0
  30. package/dist/completion-handler.js +200 -0
  31. package/dist/completion-handler.js.map +1 -0
  32. package/dist/condition-evaluators.d.ts +31 -0
  33. package/dist/condition-evaluators.d.ts.map +1 -0
  34. package/dist/condition-evaluators.js +416 -0
  35. package/dist/condition-evaluators.js.map +1 -0
  36. package/dist/config.d.ts +55 -0
  37. package/dist/config.d.ts.map +1 -0
  38. package/dist/config.js +311 -0
  39. package/dist/config.js.map +1 -0
  40. package/dist/control-state.d.ts +41 -0
  41. package/dist/control-state.d.ts.map +1 -0
  42. package/dist/control-state.js +204 -0
  43. package/dist/control-state.js.map +1 -0
  44. package/dist/crash-recovery-cleanup.d.ts +21 -0
  45. package/dist/crash-recovery-cleanup.d.ts.map +1 -0
  46. package/dist/crash-recovery-cleanup.js +198 -0
  47. package/dist/crash-recovery-cleanup.js.map +1 -0
  48. package/dist/crash-recovery-scan.d.ts +19 -0
  49. package/dist/crash-recovery-scan.d.ts.map +1 -0
  50. package/dist/crash-recovery-scan.js +145 -0
  51. package/dist/crash-recovery-scan.js.map +1 -0
  52. package/dist/crash-recovery-types.d.ts +54 -0
  53. package/dist/crash-recovery-types.d.ts.map +1 -0
  54. package/dist/crash-recovery-types.js +13 -0
  55. package/dist/crash-recovery-types.js.map +1 -0
  56. package/dist/crash-recovery.d.ts +88 -0
  57. package/dist/crash-recovery.d.ts.map +1 -0
  58. package/dist/crash-recovery.js +448 -0
  59. package/dist/crash-recovery.js.map +1 -0
  60. package/dist/daemon-logs.d.ts +19 -0
  61. package/dist/daemon-logs.d.ts.map +1 -0
  62. package/dist/daemon-logs.js +81 -0
  63. package/dist/daemon-logs.js.map +1 -0
  64. package/dist/daemon-process.d.ts +154 -0
  65. package/dist/daemon-process.d.ts.map +1 -0
  66. package/dist/daemon-process.js +427 -0
  67. package/dist/daemon-process.js.map +1 -0
  68. package/dist/dag-validator.d.ts +52 -0
  69. package/dist/dag-validator.d.ts.map +1 -0
  70. package/dist/dag-validator.js +199 -0
  71. package/dist/dag-validator.js.map +1 -0
  72. package/dist/delivery-guards.d.ts +41 -0
  73. package/dist/delivery-guards.d.ts.map +1 -0
  74. package/dist/delivery-guards.js +195 -0
  75. package/dist/delivery-guards.js.map +1 -0
  76. package/dist/delivery-lifecycle.d.ts +110 -0
  77. package/dist/delivery-lifecycle.d.ts.map +1 -0
  78. package/dist/delivery-lifecycle.js +353 -0
  79. package/dist/delivery-lifecycle.js.map +1 -0
  80. package/dist/delivery-merge.d.ts +17 -0
  81. package/dist/delivery-merge.d.ts.map +1 -0
  82. package/dist/delivery-merge.js +89 -0
  83. package/dist/delivery-merge.js.map +1 -0
  84. package/dist/dependency-resolver.d.ts +77 -0
  85. package/dist/dependency-resolver.d.ts.map +1 -0
  86. package/dist/dependency-resolver.js +337 -0
  87. package/dist/dependency-resolver.js.map +1 -0
  88. package/dist/evaluation-context.d.ts +49 -0
  89. package/dist/evaluation-context.d.ts.map +1 -0
  90. package/dist/evaluation-context.js +98 -0
  91. package/dist/evaluation-context.js.map +1 -0
  92. package/dist/git-activity.d.ts +24 -0
  93. package/dist/git-activity.d.ts.map +1 -0
  94. package/dist/git-activity.js +97 -0
  95. package/dist/git-activity.js.map +1 -0
  96. package/dist/git-branch.d.ts +33 -0
  97. package/dist/git-branch.d.ts.map +1 -0
  98. package/dist/git-branch.js +88 -0
  99. package/dist/git-branch.js.map +1 -0
  100. package/dist/git-integration.d.ts +27 -0
  101. package/dist/git-integration.d.ts.map +1 -0
  102. package/dist/git-integration.js +82 -0
  103. package/dist/git-integration.js.map +1 -0
  104. package/dist/git-merge-helpers.d.ts +48 -0
  105. package/dist/git-merge-helpers.d.ts.map +1 -0
  106. package/dist/git-merge-helpers.js +105 -0
  107. package/dist/git-merge-helpers.js.map +1 -0
  108. package/dist/git-merge-lock.d.ts +67 -0
  109. package/dist/git-merge-lock.d.ts.map +1 -0
  110. package/dist/git-merge-lock.js +157 -0
  111. package/dist/git-merge-lock.js.map +1 -0
  112. package/dist/git-merge-strategies.d.ts +39 -0
  113. package/dist/git-merge-strategies.d.ts.map +1 -0
  114. package/dist/git-merge-strategies.js +127 -0
  115. package/dist/git-merge-strategies.js.map +1 -0
  116. package/dist/git-merge.d.ts +80 -0
  117. package/dist/git-merge.d.ts.map +1 -0
  118. package/dist/git-merge.js +373 -0
  119. package/dist/git-merge.js.map +1 -0
  120. package/dist/git-state-detector.d.ts +24 -0
  121. package/dist/git-state-detector.d.ts.map +1 -0
  122. package/dist/git-state-detector.js +122 -0
  123. package/dist/git-state-detector.js.map +1 -0
  124. package/dist/git-types.d.ts +40 -0
  125. package/dist/git-types.d.ts.map +1 -0
  126. package/dist/git-types.js +23 -0
  127. package/dist/git-types.js.map +1 -0
  128. package/dist/git-utils.d.ts +28 -0
  129. package/dist/git-utils.d.ts.map +1 -0
  130. package/dist/git-utils.js +57 -0
  131. package/dist/git-utils.js.map +1 -0
  132. package/dist/git.d.ts +24 -0
  133. package/dist/git.d.ts.map +1 -0
  134. package/dist/git.js +64 -0
  135. package/dist/git.js.map +1 -0
  136. package/dist/guard-engine.d.ts +19 -0
  137. package/dist/guard-engine.d.ts.map +1 -0
  138. package/dist/guard-engine.js +21 -0
  139. package/dist/guard-engine.js.map +1 -0
  140. package/dist/guard-evaluator.d.ts +47 -0
  141. package/dist/guard-evaluator.d.ts.map +1 -0
  142. package/dist/guard-evaluator.js +193 -0
  143. package/dist/guard-evaluator.js.map +1 -0
  144. package/dist/heartbeat.d.ts +73 -0
  145. package/dist/heartbeat.d.ts.map +1 -0
  146. package/dist/heartbeat.js +306 -0
  147. package/dist/heartbeat.js.map +1 -0
  148. package/dist/index.d.ts +32 -0
  149. package/dist/index.d.ts.map +1 -0
  150. package/dist/index.js +493 -0
  151. package/dist/index.js.map +1 -0
  152. package/dist/listener-auto-advance.d.ts +29 -0
  153. package/dist/listener-auto-advance.d.ts.map +1 -0
  154. package/dist/listener-auto-advance.js +172 -0
  155. package/dist/listener-auto-advance.js.map +1 -0
  156. package/dist/listener-review.d.ts +37 -0
  157. package/dist/listener-review.d.ts.map +1 -0
  158. package/dist/listener-review.js +217 -0
  159. package/dist/listener-review.js.map +1 -0
  160. package/dist/listener.d.ts +57 -0
  161. package/dist/listener.d.ts.map +1 -0
  162. package/dist/listener.js +361 -0
  163. package/dist/listener.js.map +1 -0
  164. package/dist/log-manager.d.ts +18 -0
  165. package/dist/log-manager.d.ts.map +1 -0
  166. package/dist/log-manager.js +18 -0
  167. package/dist/log-manager.js.map +1 -0
  168. package/dist/otlp-log-parser.d.ts +21 -0
  169. package/dist/otlp-log-parser.d.ts.map +1 -0
  170. package/dist/otlp-log-parser.js +143 -0
  171. package/dist/otlp-log-parser.js.map +1 -0
  172. package/dist/otlp-metric-parser.d.ts +20 -0
  173. package/dist/otlp-metric-parser.d.ts.map +1 -0
  174. package/dist/otlp-metric-parser.js +113 -0
  175. package/dist/otlp-metric-parser.js.map +1 -0
  176. package/dist/otlp-port-manager.d.ts +26 -0
  177. package/dist/otlp-port-manager.d.ts.map +1 -0
  178. package/dist/otlp-port-manager.js +130 -0
  179. package/dist/otlp-port-manager.js.map +1 -0
  180. package/dist/otlp-receiver.d.ts +51 -0
  181. package/dist/otlp-receiver.d.ts.map +1 -0
  182. package/dist/otlp-receiver.js +663 -0
  183. package/dist/otlp-receiver.js.map +1 -0
  184. package/dist/otlp-types.d.ts +92 -0
  185. package/dist/otlp-types.d.ts.map +1 -0
  186. package/dist/otlp-types.js +133 -0
  187. package/dist/otlp-types.js.map +1 -0
  188. package/dist/output-monitor.d.ts +33 -0
  189. package/dist/output-monitor.d.ts.map +1 -0
  190. package/dist/output-monitor.js +67 -0
  191. package/dist/output-monitor.js.map +1 -0
  192. package/dist/planning-prompt-builder.d.ts +67 -0
  193. package/dist/planning-prompt-builder.d.ts.map +1 -0
  194. package/dist/planning-prompt-builder.js +515 -0
  195. package/dist/planning-prompt-builder.js.map +1 -0
  196. package/dist/prompt-builder.d.ts +14 -0
  197. package/dist/prompt-builder.d.ts.map +1 -0
  198. package/dist/prompt-builder.js +174 -0
  199. package/dist/prompt-builder.js.map +1 -0
  200. package/dist/qa-crash-recovery.d.ts +77 -0
  201. package/dist/qa-crash-recovery.d.ts.map +1 -0
  202. package/dist/qa-crash-recovery.js +243 -0
  203. package/dist/qa-crash-recovery.js.map +1 -0
  204. package/dist/qa-dev-server.d.ts +73 -0
  205. package/dist/qa-dev-server.d.ts.map +1 -0
  206. package/dist/qa-dev-server.js +279 -0
  207. package/dist/qa-dev-server.js.map +1 -0
  208. package/dist/qa-orchestrator.d.ts +79 -0
  209. package/dist/qa-orchestrator.d.ts.map +1 -0
  210. package/dist/qa-orchestrator.js +349 -0
  211. package/dist/qa-orchestrator.js.map +1 -0
  212. package/dist/qa-port-allocator.d.ts +34 -0
  213. package/dist/qa-port-allocator.d.ts.map +1 -0
  214. package/dist/qa-port-allocator.js +75 -0
  215. package/dist/qa-port-allocator.js.map +1 -0
  216. package/dist/qa-provisioner.d.ts +33 -0
  217. package/dist/qa-provisioner.d.ts.map +1 -0
  218. package/dist/qa-provisioner.js +141 -0
  219. package/dist/qa-provisioner.js.map +1 -0
  220. package/dist/qa-state.d.ts +93 -0
  221. package/dist/qa-state.d.ts.map +1 -0
  222. package/dist/qa-state.js +74 -0
  223. package/dist/qa-state.js.map +1 -0
  224. package/dist/queries/control-state.d.ts +25 -0
  225. package/dist/queries/control-state.d.ts.map +1 -0
  226. package/dist/queries/control-state.js +34 -0
  227. package/dist/queries/control-state.js.map +1 -0
  228. package/dist/queries/daemon-connection.d.ts +25 -0
  229. package/dist/queries/daemon-connection.d.ts.map +1 -0
  230. package/dist/queries/daemon-connection.js +28 -0
  231. package/dist/queries/daemon-connection.js.map +1 -0
  232. package/dist/queries/deliveries.d.ts +100 -0
  233. package/dist/queries/deliveries.d.ts.map +1 -0
  234. package/dist/queries/deliveries.js +184 -0
  235. package/dist/queries/deliveries.js.map +1 -0
  236. package/dist/queries/git-activity.d.ts +20 -0
  237. package/dist/queries/git-activity.d.ts.map +1 -0
  238. package/dist/queries/git-activity.js +22 -0
  239. package/dist/queries/git-activity.js.map +1 -0
  240. package/dist/queries/guards.d.ts +47 -0
  241. package/dist/queries/guards.d.ts.map +1 -0
  242. package/dist/queries/guards.js +138 -0
  243. package/dist/queries/guards.js.map +1 -0
  244. package/dist/queries/index.d.ts +19 -0
  245. package/dist/queries/index.d.ts.map +1 -0
  246. package/dist/queries/index.js +17 -0
  247. package/dist/queries/index.js.map +1 -0
  248. package/dist/queries/issues.d.ts +41 -0
  249. package/dist/queries/issues.d.ts.map +1 -0
  250. package/dist/queries/issues.js +67 -0
  251. package/dist/queries/issues.js.map +1 -0
  252. package/dist/queries/qa.d.ts +79 -0
  253. package/dist/queries/qa.d.ts.map +1 -0
  254. package/dist/queries/qa.js +85 -0
  255. package/dist/queries/qa.js.map +1 -0
  256. package/dist/queries/roles.d.ts +13 -0
  257. package/dist/queries/roles.d.ts.map +1 -0
  258. package/dist/queries/roles.js +39 -0
  259. package/dist/queries/roles.js.map +1 -0
  260. package/dist/queries/schemas.d.ts +777 -0
  261. package/dist/queries/schemas.d.ts.map +1 -0
  262. package/dist/queries/schemas.js +391 -0
  263. package/dist/queries/schemas.js.map +1 -0
  264. package/dist/queries/sessions.d.ts +64 -0
  265. package/dist/queries/sessions.d.ts.map +1 -0
  266. package/dist/queries/sessions.js +100 -0
  267. package/dist/queries/sessions.js.map +1 -0
  268. package/dist/queries/shared.d.ts +61 -0
  269. package/dist/queries/shared.d.ts.map +1 -0
  270. package/dist/queries/shared.js +187 -0
  271. package/dist/queries/shared.js.map +1 -0
  272. package/dist/queries/strategies.d.ts +69 -0
  273. package/dist/queries/strategies.d.ts.map +1 -0
  274. package/dist/queries/strategies.js +80 -0
  275. package/dist/queries/strategies.js.map +1 -0
  276. package/dist/queries/workflows.d.ts +17 -0
  277. package/dist/queries/workflows.d.ts.map +1 -0
  278. package/dist/queries/workflows.js +49 -0
  279. package/dist/queries/workflows.js.map +1 -0
  280. package/dist/queries/worktrees.d.ts +38 -0
  281. package/dist/queries/worktrees.d.ts.map +1 -0
  282. package/dist/queries/worktrees.js +37 -0
  283. package/dist/queries/worktrees.js.map +1 -0
  284. package/dist/self-update.d.ts +94 -0
  285. package/dist/self-update.d.ts.map +1 -0
  286. package/dist/self-update.js +438 -0
  287. package/dist/self-update.js.map +1 -0
  288. package/dist/session-lifecycle.d.ts +77 -0
  289. package/dist/session-lifecycle.d.ts.map +1 -0
  290. package/dist/session-lifecycle.js +379 -0
  291. package/dist/session-lifecycle.js.map +1 -0
  292. package/dist/shutdown-state.d.ts +17 -0
  293. package/dist/shutdown-state.d.ts.map +1 -0
  294. package/dist/shutdown-state.js +22 -0
  295. package/dist/shutdown-state.js.map +1 -0
  296. package/dist/spawn-cooldown.d.ts +14 -0
  297. package/dist/spawn-cooldown.d.ts.map +1 -0
  298. package/dist/spawn-cooldown.js +34 -0
  299. package/dist/spawn-cooldown.js.map +1 -0
  300. package/dist/spawn-environment.d.ts +35 -0
  301. package/dist/spawn-environment.d.ts.map +1 -0
  302. package/dist/spawn-environment.js +48 -0
  303. package/dist/spawn-environment.js.map +1 -0
  304. package/dist/spawner-liveness.d.ts +23 -0
  305. package/dist/spawner-liveness.d.ts.map +1 -0
  306. package/dist/spawner-liveness.js +99 -0
  307. package/dist/spawner-liveness.js.map +1 -0
  308. package/dist/spawner-resolution.d.ts +27 -0
  309. package/dist/spawner-resolution.d.ts.map +1 -0
  310. package/dist/spawner-resolution.js +99 -0
  311. package/dist/spawner-resolution.js.map +1 -0
  312. package/dist/spawner-timeout.d.ts +32 -0
  313. package/dist/spawner-timeout.d.ts.map +1 -0
  314. package/dist/spawner-timeout.js +124 -0
  315. package/dist/spawner-timeout.js.map +1 -0
  316. package/dist/spawner.d.ts +77 -0
  317. package/dist/spawner.d.ts.map +1 -0
  318. package/dist/spawner.js +734 -0
  319. package/dist/spawner.js.map +1 -0
  320. package/dist/strategy-completion.d.ts +110 -0
  321. package/dist/strategy-completion.d.ts.map +1 -0
  322. package/dist/strategy-completion.js +434 -0
  323. package/dist/strategy-completion.js.map +1 -0
  324. package/dist/strategy-engine.d.ts +47 -0
  325. package/dist/strategy-engine.d.ts.map +1 -0
  326. package/dist/strategy-engine.js +419 -0
  327. package/dist/strategy-engine.js.map +1 -0
  328. package/dist/strategy-executor.d.ts +93 -0
  329. package/dist/strategy-executor.d.ts.map +1 -0
  330. package/dist/strategy-executor.js +775 -0
  331. package/dist/strategy-executor.js.map +1 -0
  332. package/dist/strategy-lifecycle.d.ts +61 -0
  333. package/dist/strategy-lifecycle.d.ts.map +1 -0
  334. package/dist/strategy-lifecycle.js +516 -0
  335. package/dist/strategy-lifecycle.js.map +1 -0
  336. package/dist/strategy-merge.d.ts +72 -0
  337. package/dist/strategy-merge.d.ts.map +1 -0
  338. package/dist/strategy-merge.js +371 -0
  339. package/dist/strategy-merge.js.map +1 -0
  340. package/dist/strategy-prompt-builder.d.ts +62 -0
  341. package/dist/strategy-prompt-builder.d.ts.map +1 -0
  342. package/dist/strategy-prompt-builder.js +538 -0
  343. package/dist/strategy-prompt-builder.js.map +1 -0
  344. package/dist/strategy-provisioning.d.ts +16 -0
  345. package/dist/strategy-provisioning.d.ts.map +1 -0
  346. package/dist/strategy-provisioning.js +119 -0
  347. package/dist/strategy-provisioning.js.map +1 -0
  348. package/dist/strategy-team-state.d.ts +24 -0
  349. package/dist/strategy-team-state.d.ts.map +1 -0
  350. package/dist/strategy-team-state.js +43 -0
  351. package/dist/strategy-team-state.js.map +1 -0
  352. package/dist/strategy-teardown.d.ts +24 -0
  353. package/dist/strategy-teardown.d.ts.map +1 -0
  354. package/dist/strategy-teardown.js +158 -0
  355. package/dist/strategy-teardown.js.map +1 -0
  356. package/dist/strategy-worktree-state.d.ts +47 -0
  357. package/dist/strategy-worktree-state.d.ts.map +1 -0
  358. package/dist/strategy-worktree-state.js +104 -0
  359. package/dist/strategy-worktree-state.js.map +1 -0
  360. package/dist/supabase.d.ts +36 -0
  361. package/dist/supabase.d.ts.map +1 -0
  362. package/dist/supabase.js +50 -0
  363. package/dist/supabase.js.map +1 -0
  364. package/dist/task-converter.d.ts +61 -0
  365. package/dist/task-converter.d.ts.map +1 -0
  366. package/dist/task-converter.js +286 -0
  367. package/dist/task-converter.js.map +1 -0
  368. package/dist/task-dag-builder.d.ts +14 -0
  369. package/dist/task-dag-builder.d.ts.map +1 -0
  370. package/dist/task-dag-builder.js +17 -0
  371. package/dist/task-dag-builder.js.map +1 -0
  372. package/dist/team-prompt-base.d.ts +114 -0
  373. package/dist/team-prompt-base.d.ts.map +1 -0
  374. package/dist/team-prompt-base.js +531 -0
  375. package/dist/team-prompt-base.js.map +1 -0
  376. package/dist/team-prompt-variants.d.ts +27 -0
  377. package/dist/team-prompt-variants.d.ts.map +1 -0
  378. package/dist/team-prompt-variants.js +134 -0
  379. package/dist/team-prompt-variants.js.map +1 -0
  380. package/dist/team-spawner.d.ts +50 -0
  381. package/dist/team-spawner.d.ts.map +1 -0
  382. package/dist/team-spawner.js +410 -0
  383. package/dist/team-spawner.js.map +1 -0
  384. package/dist/telemetry-writer.d.ts +66 -0
  385. package/dist/telemetry-writer.d.ts.map +1 -0
  386. package/dist/telemetry-writer.js +96 -0
  387. package/dist/telemetry-writer.js.map +1 -0
  388. package/dist/trigger-executor.d.ts +56 -0
  389. package/dist/trigger-executor.d.ts.map +1 -0
  390. package/dist/trigger-executor.js +313 -0
  391. package/dist/trigger-executor.js.map +1 -0
  392. package/dist/types/config.d.ts +60 -0
  393. package/dist/types/config.d.ts.map +1 -0
  394. package/dist/types/config.js +5 -0
  395. package/dist/types/config.js.map +1 -0
  396. package/dist/types/dag.d.ts +53 -0
  397. package/dist/types/dag.d.ts.map +1 -0
  398. package/dist/types/dag.js +5 -0
  399. package/dist/types/dag.js.map +1 -0
  400. package/dist/types/delivery.d.ts +71 -0
  401. package/dist/types/delivery.d.ts.map +1 -0
  402. package/dist/types/delivery.js +5 -0
  403. package/dist/types/delivery.js.map +1 -0
  404. package/dist/types/index.d.ts +15 -0
  405. package/dist/types/index.d.ts.map +1 -0
  406. package/dist/types/index.js +15 -0
  407. package/dist/types/index.js.map +1 -0
  408. package/dist/types/issue.d.ts +22 -0
  409. package/dist/types/issue.d.ts.map +1 -0
  410. package/dist/types/issue.js +5 -0
  411. package/dist/types/issue.js.map +1 -0
  412. package/dist/types/merge.d.ts +28 -0
  413. package/dist/types/merge.d.ts.map +1 -0
  414. package/dist/types/merge.js +5 -0
  415. package/dist/types/merge.js.map +1 -0
  416. package/dist/types/session.d.ts +98 -0
  417. package/dist/types/session.d.ts.map +1 -0
  418. package/dist/types/session.js +5 -0
  419. package/dist/types/session.js.map +1 -0
  420. package/dist/types/strategy.d.ts +175 -0
  421. package/dist/types/strategy.d.ts.map +1 -0
  422. package/dist/types/strategy.js +5 -0
  423. package/dist/types/strategy.js.map +1 -0
  424. package/dist/types/workflow.d.ts +34 -0
  425. package/dist/types/workflow.d.ts.map +1 -0
  426. package/dist/types/workflow.js +9 -0
  427. package/dist/types/workflow.js.map +1 -0
  428. package/dist/types.d.ts +9 -0
  429. package/dist/types.d.ts.map +1 -0
  430. package/dist/types.js +9 -0
  431. package/dist/types.js.map +1 -0
  432. package/dist/unified-init.d.ts +16 -0
  433. package/dist/unified-init.d.ts.map +1 -0
  434. package/dist/unified-init.js +183 -0
  435. package/dist/unified-init.js.map +1 -0
  436. package/dist/unified-shell-config.d.ts +34 -0
  437. package/dist/unified-shell-config.d.ts.map +1 -0
  438. package/dist/unified-shell-config.js +238 -0
  439. package/dist/unified-shell-config.js.map +1 -0
  440. package/dist/unified-shell-status.d.ts +15 -0
  441. package/dist/unified-shell-status.d.ts.map +1 -0
  442. package/dist/unified-shell-status.js +100 -0
  443. package/dist/unified-shell-status.js.map +1 -0
  444. package/dist/unified-shell.d.ts +50 -0
  445. package/dist/unified-shell.d.ts.map +1 -0
  446. package/dist/unified-shell.js +682 -0
  447. package/dist/unified-shell.js.map +1 -0
  448. package/dist/version-check.d.ts +19 -0
  449. package/dist/version-check.d.ts.map +1 -0
  450. package/dist/version-check.js +67 -0
  451. package/dist/version-check.js.map +1 -0
  452. package/dist/workflow-engine.d.ts +95 -0
  453. package/dist/workflow-engine.d.ts.map +1 -0
  454. package/dist/workflow-engine.js +165 -0
  455. package/dist/workflow-engine.js.map +1 -0
  456. package/dist/worktree-merge.d.ts +23 -0
  457. package/dist/worktree-merge.d.ts.map +1 -0
  458. package/dist/worktree-merge.js +57 -0
  459. package/dist/worktree-merge.js.map +1 -0
  460. package/dist/worktree-safety.d.ts +48 -0
  461. package/dist/worktree-safety.d.ts.map +1 -0
  462. package/dist/worktree-safety.js +113 -0
  463. package/dist/worktree-safety.js.map +1 -0
  464. package/dist/worktree-strategy.d.ts +69 -0
  465. package/dist/worktree-strategy.d.ts.map +1 -0
  466. package/dist/worktree-strategy.js +214 -0
  467. package/dist/worktree-strategy.js.map +1 -0
  468. package/dist/worktree.d.ts +159 -0
  469. package/dist/worktree.d.ts.map +1 -0
  470. package/dist/worktree.js +512 -0
  471. package/dist/worktree.js.map +1 -0
  472. package/package.json +76 -0
  473. package/scripts/telora-daemon-wrapper.sh +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition-evaluators.js","sourceRoot":"","sources":["../src/condition-evaluators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Daemon configuration management.
3
+ *
4
+ * Loads configuration from:
5
+ * 1. Config file (.telora/daemon.json or --config path)
6
+ * 2. Environment variables (override config file)
7
+ *
8
+ * Uses shared BaseConfig infrastructure from @telora/daemon-core for fields
9
+ * common to both daemon and factory, then layers daemon-specific fields on top.
10
+ *
11
+ * Uses tracker-based authentication (same as MCP server) instead of service role key.
12
+ * SECURITY: trackerId must come from TELORA_TRACKER_ID env var, never from config file.
13
+ */
14
+ import type { DaemonConfig } from './types.js';
15
+ import type { ProductEntry } from '@telora/daemon-core';
16
+ /**
17
+ * Load and validate daemon configuration.
18
+ *
19
+ * Priority (highest to lowest):
20
+ * 1. Environment variables
21
+ * 2. Config file values
22
+ * 3. Default values
23
+ *
24
+ * @param configPath Optional path to config file (default: .telora/daemon.json)
25
+ */
26
+ export declare function loadConfig(configPath?: string): DaemonConfig;
27
+ /**
28
+ * Create a product-scoped DaemonConfig by overriding productId, repoPath,
29
+ * worktreeDir, and logDir to target a specific product's repository.
30
+ *
31
+ * Downstream functions that use config.productId and config.repoPath
32
+ * work without modification when given a product-scoped config.
33
+ */
34
+ export declare function configForProduct(config: DaemonConfig, product: ProductEntry): DaemonConfig;
35
+ /**
36
+ * Look up a ProductEntry by productId from the config's products array.
37
+ * Returns undefined if not found (defensive fallback).
38
+ */
39
+ export declare function findProduct(config: DaemonConfig, productId: string): ProductEntry | undefined;
40
+ /**
41
+ * Validate daemon configuration values at startup.
42
+ *
43
+ * Runs after loadConfig() but before initSupabase(). Collects all
44
+ * validation failures and throws a single error listing every problem,
45
+ * so operators can fix everything in one pass.
46
+ *
47
+ * Uses validateBaseConfig() from @telora/daemon-core for shared fields,
48
+ * then appends daemon-specific validation errors.
49
+ */
50
+ export declare function validateConfig(config: DaemonConfig): void;
51
+ /**
52
+ * Print configuration summary (without sensitive values)
53
+ */
54
+ export declare function printConfig(config: DaemonConfig): void;
55
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAsC,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAqDxD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAkM5D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAS1F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE7F;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAsCzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CA+BtD"}
package/dist/config.js ADDED
@@ -0,0 +1,311 @@
1
+ /**
2
+ * Daemon configuration management.
3
+ *
4
+ * Loads configuration from:
5
+ * 1. Config file (.telora/daemon.json or --config path)
6
+ * 2. Environment variables (override config file)
7
+ *
8
+ * Uses shared BaseConfig infrastructure from @telora/daemon-core for fields
9
+ * common to both daemon and factory, then layers daemon-specific fields on top.
10
+ *
11
+ * Uses tracker-based authentication (same as MCP server) instead of service role key.
12
+ * SECURITY: trackerId must come from TELORA_TRACKER_ID env var, never from config file.
13
+ */
14
+ import { resolve } from 'node:path';
15
+ import { existsSync, accessSync, constants } from 'node:fs';
16
+ import { networkInterfaces } from 'node:os';
17
+ import { loadConfigFile as loadConfigFileShared, resolveBaseConfig, validateBaseConfig, } from '@telora/daemon-core';
18
+ /**
19
+ * Auto-detect the first non-internal IPv4 address for LAN-accessible QA URLs.
20
+ * Falls back to 'localhost' if no suitable address is found.
21
+ */
22
+ function detectLanHost() {
23
+ const interfaces = networkInterfaces();
24
+ for (const ifaceEntries of Object.values(interfaces)) {
25
+ if (!ifaceEntries)
26
+ continue;
27
+ for (const iface of ifaceEntries) {
28
+ if (iface.family === 'IPv4' && !iface.internal) {
29
+ return iface.address;
30
+ }
31
+ }
32
+ }
33
+ return 'localhost';
34
+ }
35
+ /**
36
+ * Helper: read a numeric value from env (as string) or file config, with a default.
37
+ */
38
+ function resolveInt(envVal, fileVal, defaultVal) {
39
+ if (envVal !== undefined && envVal !== '') {
40
+ return parseInt(envVal, 10);
41
+ }
42
+ if (typeof fileVal === 'number') {
43
+ return fileVal;
44
+ }
45
+ return defaultVal;
46
+ }
47
+ /**
48
+ * Helper: read a float value from env (as string) or file config, with a default.
49
+ */
50
+ function resolveFloat(envVal, fileVal, defaultVal) {
51
+ if (envVal !== undefined && envVal !== '') {
52
+ return parseFloat(envVal);
53
+ }
54
+ if (typeof fileVal === 'number') {
55
+ return fileVal;
56
+ }
57
+ return defaultVal;
58
+ }
59
+ /**
60
+ * Load and validate daemon configuration.
61
+ *
62
+ * Priority (highest to lowest):
63
+ * 1. Environment variables
64
+ * 2. Config file values
65
+ * 3. Default values
66
+ *
67
+ * @param configPath Optional path to config file (default: .telora/daemon.json)
68
+ */
69
+ export function loadConfig(configPath) {
70
+ // Load config file using shared loader (returns Record<string, unknown>)
71
+ const fileConfig = loadConfigFileShared(configPath, 'daemon.json');
72
+ // Resolve base fields (teloraUrl, trackerId, organizationId, productId, etc.)
73
+ // using shared resolver that handles env-var-over-file priority
74
+ const base = resolveBaseConfig(fileConfig, process.env);
75
+ // Apply daemon-specific defaults for base fields
76
+ const repoPath = base.repoPath || process.cwd();
77
+ const claudeCodePath = base.claudeCodePath || 'claude';
78
+ const logDir = base.logDir || resolve(repoPath, '.telora', 'logs');
79
+ const sessionTimeoutMs = base.sessionTimeoutMs ?? 3600000; // 1 hour
80
+ const mcpConfigPath = base.mcpConfigPath ?? null;
81
+ // Resolve products array (always populated at runtime)
82
+ const products = base.products ?? [];
83
+ // Validate required base fields
84
+ const teloraUrl = base.teloraUrl;
85
+ const trackerId = base.trackerId;
86
+ const organizationId = base.organizationId;
87
+ const productId = base.productId;
88
+ if (!teloraUrl) {
89
+ throw new Error('TELORA_URL is required (set in env or config file)');
90
+ }
91
+ if (!trackerId) {
92
+ throw new Error('TELORA_TRACKER_ID is required (set in env or config file)');
93
+ }
94
+ if (!organizationId) {
95
+ throw new Error('TELORA_ORGANIZATION_ID is required (set in env or config file)');
96
+ }
97
+ if (products.length === 0 && !productId) {
98
+ throw new Error('At least one product is required. Set "products" array in config file, ' +
99
+ 'or use TELORA_PRODUCT_ID + TELORA_REPO_PATH environment variables.');
100
+ }
101
+ // Warn when using HTTP for non-local URLs (bearer tokens are sent in Authorization headers)
102
+ if (teloraUrl.startsWith('http://')) {
103
+ const urlHost = new URL(teloraUrl).hostname;
104
+ const isLocal = urlHost === 'localhost' || urlHost === '127.0.0.1' || urlHost === '::1';
105
+ if (!isLocal) {
106
+ console.warn('WARNING: TELORA_URL uses HTTP instead of HTTPS. ' +
107
+ 'Bearer tokens will be transmitted in plaintext, exposing them to network interception. ' +
108
+ 'Use HTTPS in production environments.');
109
+ }
110
+ }
111
+ // Validate repo path exists
112
+ if (!existsSync(repoPath)) {
113
+ throw new Error(`Repository path does not exist: ${repoPath}`);
114
+ }
115
+ // ── Daemon-specific fields ────────────────────────────────────
116
+ // Worktree directory for parallel agent branches
117
+ const worktreeDir = process.env.TELORA_WORKTREE_DIR
118
+ || (typeof fileConfig.worktreeDir === 'string' ? fileConfig.worktreeDir : '')
119
+ || resolve(repoPath, '.telora', 'worktrees');
120
+ // Integration branch (agents merge here on success, humans promote to main)
121
+ const integrationBranch = process.env.TELORA_INTEGRATION_BRANCH
122
+ || (typeof fileConfig.integrationBranch === 'string' ? fileConfig.integrationBranch : '')
123
+ || 'integration';
124
+ // Session limits
125
+ const maxTotalSessions = resolveInt(process.env.MAX_TOTAL_SESSIONS, fileConfig.maxTotalSessions, 5);
126
+ const tokenLimit = resolveInt(process.env.TOKEN_LIMIT, fileConfig.tokenLimit, 200000);
127
+ const costLimit = resolveFloat(process.env.COST_LIMIT, fileConfig.costLimit, 10.0);
128
+ const mergeLockTimeoutMs = resolveInt(process.env.MERGE_LOCK_TIMEOUT_MS, fileConfig.mergeLockTimeoutMs, 300000);
129
+ const mergeLockContentionWarningMs = resolveInt(process.env.MERGE_LOCK_CONTENTION_WARNING_MS, fileConfig.mergeLockContentionWarningMs, 30000);
130
+ // Guard failure mode: fail-open (default, backward compatible) or fail-closed
131
+ const rawPolicyFailureMode = process.env.TELORA_POLICY_FAILURE_MODE
132
+ || (typeof fileConfig.policyFailureMode === 'string' ? fileConfig.policyFailureMode : '')
133
+ || 'fail-open';
134
+ if (rawPolicyFailureMode !== 'fail-open' && rawPolicyFailureMode !== 'fail-closed') {
135
+ throw new Error(`Invalid TELORA_POLICY_FAILURE_MODE: "${rawPolicyFailureMode}". Must be "fail-open" or "fail-closed".`);
136
+ }
137
+ const policyFailureMode = rawPolicyFailureMode;
138
+ // Log retention policy
139
+ const logMaxAgeDays = resolveInt(process.env.LOG_MAX_AGE_DAYS, fileConfig.logMaxAgeDays, 7);
140
+ const logMaxTotalBytes = resolveInt(process.env.LOG_MAX_TOTAL_BYTES, fileConfig.logMaxTotalBytes, 1073741824);
141
+ const logMaxFiles = resolveInt(process.env.LOG_MAX_FILES, fileConfig.logMaxFiles, 500);
142
+ // Telemetry / OTLP receiver configuration
143
+ const telemetryFile = (typeof fileConfig.telemetry === 'object' && fileConfig.telemetry !== null)
144
+ ? fileConfig.telemetry
145
+ : {};
146
+ const telemetry = {
147
+ enabled: process.env.TELORA_TELEMETRY_ENABLED !== undefined
148
+ ? process.env.TELORA_TELEMETRY_ENABLED !== '0' && process.env.TELORA_TELEMETRY_ENABLED !== 'false'
149
+ : (typeof telemetryFile.enabled === 'boolean' ? telemetryFile.enabled : true),
150
+ port: resolveInt(process.env.TELORA_TELEMETRY_PORT, telemetryFile.port, 4318),
151
+ flushIntervalMs: resolveInt(process.env.TELORA_TELEMETRY_FLUSH_INTERVAL_MS, telemetryFile.flushIntervalMs, 5000),
152
+ retentionDays: resolveInt(process.env.TELORA_TELEMETRY_RETENTION_DAYS, telemetryFile.retentionDays, 30),
153
+ };
154
+ // QA environment configuration
155
+ const qaPortRangeStart = resolveInt(process.env.TELORA_QA_PORT_RANGE_START, fileConfig.qaPortRangeStart, 9100);
156
+ const qaPortRangeEnd = resolveInt(process.env.TELORA_QA_PORT_RANGE_END, fileConfig.qaPortRangeEnd, 9199);
157
+ const qaHost = process.env.TELORA_QA_HOST
158
+ || (typeof fileConfig.qaHost === 'string' ? fileConfig.qaHost : '')
159
+ || detectLanHost();
160
+ // Local Supabase configuration for QA environments
161
+ const localSupabaseUrl = process.env.TELORA_LOCAL_SUPABASE_URL
162
+ || (typeof fileConfig.localSupabaseUrl === 'string' ? fileConfig.localSupabaseUrl : '')
163
+ || 'http://127.0.0.1:54321';
164
+ const localSupabaseAnonKey = process.env.TELORA_LOCAL_SUPABASE_ANON_KEY
165
+ || (typeof fileConfig.localSupabaseAnonKey === 'string' ? fileConfig.localSupabaseAnonKey : '')
166
+ || null;
167
+ // Validate QA port range
168
+ if (qaPortRangeStart < 1024 || qaPortRangeStart > 65535) {
169
+ throw new Error(`qaPortRangeStart must be between 1024 and 65535, got ${qaPortRangeStart}`);
170
+ }
171
+ if (qaPortRangeEnd < 1024 || qaPortRangeEnd > 65535) {
172
+ throw new Error(`qaPortRangeEnd must be between 1024 and 65535, got ${qaPortRangeEnd}`);
173
+ }
174
+ if (qaPortRangeStart >= qaPortRangeEnd) {
175
+ throw new Error(`qaPortRangeStart (${qaPortRangeStart}) must be less than qaPortRangeEnd (${qaPortRangeEnd})`);
176
+ }
177
+ return {
178
+ teloraUrl,
179
+ trackerId,
180
+ organizationId,
181
+ productId: productId ?? products[0]?.id ?? '',
182
+ repoPath,
183
+ products,
184
+ claudeCodePath,
185
+ mcpConfigPath,
186
+ logDir,
187
+ sessionTimeoutMs,
188
+ worktreeDir,
189
+ integrationBranch,
190
+ maxTotalSessions,
191
+ tokenLimit,
192
+ costLimit,
193
+ mergeLockTimeoutMs,
194
+ mergeLockContentionWarningMs,
195
+ policyFailureMode,
196
+ logMaxAgeDays,
197
+ logMaxTotalBytes,
198
+ logMaxFiles,
199
+ telemetry,
200
+ qaPortRangeStart,
201
+ qaPortRangeEnd,
202
+ qaHost,
203
+ localSupabaseUrl,
204
+ localSupabaseAnonKey,
205
+ };
206
+ }
207
+ /**
208
+ * Create a product-scoped DaemonConfig by overriding productId, repoPath,
209
+ * worktreeDir, and logDir to target a specific product's repository.
210
+ *
211
+ * Downstream functions that use config.productId and config.repoPath
212
+ * work without modification when given a product-scoped config.
213
+ */
214
+ export function configForProduct(config, product) {
215
+ return {
216
+ ...config,
217
+ productId: product.id,
218
+ repoPath: product.repoPath,
219
+ // Derive worktreeDir and logDir from the product's repoPath
220
+ worktreeDir: resolve(product.repoPath, '.telora', 'worktrees'),
221
+ logDir: resolve(product.repoPath, '.telora', 'logs'),
222
+ };
223
+ }
224
+ /**
225
+ * Look up a ProductEntry by productId from the config's products array.
226
+ * Returns undefined if not found (defensive fallback).
227
+ */
228
+ export function findProduct(config, productId) {
229
+ return config.products.find(p => p.id === productId);
230
+ }
231
+ /**
232
+ * Validate daemon configuration values at startup.
233
+ *
234
+ * Runs after loadConfig() but before initSupabase(). Collects all
235
+ * validation failures and throws a single error listing every problem,
236
+ * so operators can fix everything in one pass.
237
+ *
238
+ * Uses validateBaseConfig() from @telora/daemon-core for shared fields,
239
+ * then appends daemon-specific validation errors.
240
+ */
241
+ export function validateConfig(config) {
242
+ // Validate shared base fields (teloraUrl, trackerId, organizationId, productId, repoPath, UUIDs)
243
+ const errors = validateBaseConfig(config);
244
+ // ── Daemon-specific validations ───────────────────────────────
245
+ // Validate each product's repoPath is a git repository
246
+ for (const product of config.products) {
247
+ if (product.repoPath && existsSync(product.repoPath)) {
248
+ const gitDir = resolve(product.repoPath, '.git');
249
+ if (!existsSync(gitDir)) {
250
+ errors.push(`Product ${product.id}: repoPath is not a git repository (no .git found): "${product.repoPath}"`);
251
+ }
252
+ }
253
+ else if (product.repoPath) {
254
+ errors.push(`Product ${product.id}: repoPath does not exist: "${product.repoPath}"`);
255
+ }
256
+ }
257
+ // worktreeDir parent must exist and be writable
258
+ const worktreeParent = resolve(config.worktreeDir, '..');
259
+ if (!existsSync(worktreeParent)) {
260
+ errors.push(`worktreeDir parent directory does not exist: "${worktreeParent}"`);
261
+ }
262
+ else {
263
+ try {
264
+ accessSync(worktreeParent, constants.W_OK);
265
+ }
266
+ catch {
267
+ errors.push(`worktreeDir parent directory is not writable: "${worktreeParent}"`);
268
+ }
269
+ }
270
+ if (errors.length > 0) {
271
+ throw new Error(`Daemon configuration validation failed (${errors.length} error(s)):\n` +
272
+ errors.map(e => ` - ${e}`).join('\n'));
273
+ }
274
+ console.log('Configuration validation passed');
275
+ }
276
+ /**
277
+ * Print configuration summary (without sensitive values)
278
+ */
279
+ export function printConfig(config) {
280
+ console.log('Daemon Configuration:');
281
+ console.log(` Telora URL: ${config.teloraUrl}`);
282
+ console.log(` Tracker ID: [configured]`);
283
+ console.log(` Organization ID: ${config.organizationId}`);
284
+ console.log(` Products: ${config.products.length}`);
285
+ for (const product of config.products) {
286
+ console.log(` - ${product.id} -> ${product.repoPath}`);
287
+ }
288
+ console.log(` Worktree Directory: ${config.worktreeDir}`);
289
+ console.log(` Integration Branch: ${config.integrationBranch}`);
290
+ console.log(` Claude Code Path: ${config.claudeCodePath}`);
291
+ console.log(` Log Directory: ${config.logDir}`);
292
+ console.log(` Max Total Sessions: ${config.maxTotalSessions}`);
293
+ console.log(` Session Timeout: ${config.sessionTimeoutMs}ms`);
294
+ console.log(` Token Limit: ${config.tokenLimit}`);
295
+ console.log(` Cost Limit: $${config.costLimit}`);
296
+ console.log(` Merge Lock Timeout: ${config.mergeLockTimeoutMs}ms`);
297
+ console.log(` Merge Lock Contention Warning: ${config.mergeLockContentionWarningMs}ms`);
298
+ console.log(` Policy Failure Mode: ${config.policyFailureMode}`);
299
+ console.log(` Log Max Age: ${config.logMaxAgeDays} days`);
300
+ console.log(` Log Max Total Size: ${(config.logMaxTotalBytes / 1073741824).toFixed(2)} GB`);
301
+ console.log(` Log Max Files: ${config.logMaxFiles}`);
302
+ console.log(` Telemetry Enabled: ${config.telemetry.enabled}`);
303
+ console.log(` Telemetry Port: ${config.telemetry.port}`);
304
+ console.log(` Telemetry Flush Interval: ${config.telemetry.flushIntervalMs}ms`);
305
+ console.log(` Telemetry Retention: ${config.telemetry.retentionDays} days`);
306
+ console.log(` QA Port Range: ${config.qaPortRangeStart}-${config.qaPortRangeEnd}`);
307
+ console.log(` QA Host: ${config.qaHost}`);
308
+ console.log(` Local Supabase URL: ${config.localSupabaseUrl}`);
309
+ console.log(` Local Supabase Anon Key: ${config.localSupabaseAnonKey ? '[configured]' : '[not set - inherits from .env]'}`);
310
+ }
311
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Control state handler for the daemon.
3
+ *
4
+ * Polls for strategies with non-running control states and dispatches
5
+ * to the appropriate handler:
6
+ * - human_control: SIGSTOP the team lead process
7
+ * - resuming: SIGCONT the team lead process, inject note, set running
8
+ * - stopped: graceful shutdown (message + SIGTERM)
9
+ *
10
+ * Called from the poll loop alongside existing checks.
11
+ */
12
+ import type { DaemonConfig } from './types.js';
13
+ import type { ControlStateChange } from './queries/control-state.js';
14
+ /**
15
+ * Check for control state changes and dispatch to appropriate handlers.
16
+ *
17
+ * Called from the poll loop. Queries for strategies and factory instances
18
+ * with non-running control states, then dispatches to the correct handler.
19
+ */
20
+ export declare function checkControlStateChanges(config: DaemonConfig): Promise<void>;
21
+ /**
22
+ * Handle human_control: suspend the agent by sending SIGSTOP.
23
+ */
24
+ export declare function handleHumanControl(change: ControlStateChange): void;
25
+ /**
26
+ * Handle resuming: send SIGCONT, inject operator note, update to running.
27
+ */
28
+ export declare function handleResuming(change: ControlStateChange): Promise<void>;
29
+ /**
30
+ * Handle stopped: graceful halt with message + SIGTERM.
31
+ */
32
+ export declare function handleStopped(change: ControlStateChange): void;
33
+ /**
34
+ * Get the set of suspended strategy IDs (for testing).
35
+ */
36
+ export declare function getSuspendedStrategies(): ReadonlySet<string>;
37
+ /**
38
+ * Clear all tracked suspended strategies (for testing).
39
+ */
40
+ export declare function clearSuspendedStrategies(): void;
41
+ //# sourceMappingURL=control-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-state.d.ts","sourceRoot":"","sources":["../src/control-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAMrE;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ClF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAgCnE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE9E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CA8C9D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,CAAC,MAAM,CAAC,CAE5D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}